@semapps/date-components 0.4.7 → 0.5.0-alpha.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/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/package.json +5 -7
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-admin"),r=require("@mui/x-date-pickers/LocalizationProvider"),n=require("@mui/x-date-pickers/AdapterDateFns"),a=require("@mui/x-date-pickers/DatePicker"),o=require("@mui/x-date-pickers/TimePicker"),i=require("@mui/x-date-pickers/DateTimePicker"),l=require("@fullcalendar/react"),u=require("@fullcalendar/daygrid"),c=require("@mui/material"),s=require("@mui/styles/makeStyles"),f=require("react-router-dom"),p=require("@fullcalendar/list");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=d(e),y=d(l),b=d(u),g=d(s),v=d(p);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){P(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function P(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function C(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,a,o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return D(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return D(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return function(t){return("0".repeat(e)+t).slice(-e)}},x=T(4),j=T(2),S=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/,q=function(e){if(!(e instanceof Date)||isNaN(e.getDate()))return"";var t=x(e.getFullYear()),r=j(e.getMonth()+1),n=j(e.getDate()),a=j(e.getHours()),o=j(e.getMinutes());return"".concat(t,"-").concat(r,"-").concat(n,"T").concat(a,":").concat(o)},E=function(e){return null==e||""===e?"":e instanceof Date?q(e):S.test(e)?e:q(new Date(e))},F=function(e){return e?new Date(e):""},I=["PickerComponent","format","label","source","helperText","onBlur","onChange","onFocus","parse","validate","defaultValue","locale","pickerVariant","stringFormat","allowClear"],V=["allowEmpty","alwaysOn","component","defaultValue","format","formClassName","initialValue","initializeForm","input","isRequired","label","limitChoicesToValue","locale","meta","options","optionText","optionValue","parse","source","textAlign","translate","translateChoice","labelTime"],A=function(a){var o=a.PickerComponent,i=a.format,l=void 0===i?E:i,u=a.label,c=a.source,s=a.helperText,f=a.onBlur,p=a.onChange,d=a.onFocus,y=a.parse,b=void 0===y?F:y,g=a.validate;a.defaultValue;var v=a.locale;a.pickerVariant;var h=a.stringFormat,P=void 0===h?"ISO":h;a.allowClear;var w=C(a,I),D=t.useInput(O({format:l,onBlur:f,onChange:p,onFocus:d,parse:b,source:c,validate:g},w)),T=D.field,x=D.isRequired,j=D.fieldState,S=j.error,q=j.isTouched,V=e.useCallback((function(e){Date.parse(e)?T.onChange("ISO"===P?e.toISOString():e.toString()):T.onChange(null)}),[]);return m.default.createElement(r.LocalizationProvider,{dateAdapter:n.AdapterDateFns,adapterLocale:v},m.default.createElement(o,k({label:m.default.createElement(t.FieldTitle,{label:u,source:c,isRequired:x}),error:!(!q||!S),slotProps:{textField:{helperText:m.default.createElement(t.InputHelperText,{touched:q,error:S,helperText:s})}}},L(w),{value:T.value?new Date(T.value):null,onChange:V,onBlur:function(){return T.onBlur(T.value?"ISO"===P?new Date(T.value).toISOString():new Date(T.value).toString():null)}})))};A.defaultProps={isRequired:!1,meta:{isTouched:!1,error:!1},locale:void 0,parse:function(e){return""===e?null:e}};var L=function(e){return e.allowEmpty,e.alwaysOn,e.component,e.defaultValue,e.format,e.formClassName,e.initialValue,e.initializeForm,e.input,e.isRequired,e.label,e.limitChoicesToValue,e.locale,e.meta,e.options,e.optionText,e.optionValue,e.parse,e.source,e.textAlign,e.translate,e.translateChoice,e.labelTime,C(e,V)},M=function(r){var n=r.label,a=r.startDate,o=r.endDate,i=r.linkType,l=t.useListContext(),u=l.data,c=l.isLoading,s=l.resource,p=w(f.useSearchParams(),2);p[0];var d=p[1],m=f.useNavigate(),y=t.useCreatePath(),b=new URLSearchParams(location.search),g=e.useCallback((function(e){var t=e.event;e.jsEvent.preventDefault(),m(t.url)}),[]),v=e.useCallback((function(e){var t=e.view;d((function(e){return O(O({},e),{},{month:t.currentStart.getMonth()+1,year:t.currentStart.getFullYear()})}))}),[d]),h=e.useMemo((function(){return!c&&u.filter((function(e){return e})).map((function(e){return{id:e.id,title:"string"==typeof n?e[n]:n(e),start:"string"==typeof a?e[a]:a(e),end:"string"==typeof o?e[o]:o(e),url:y({resource:s,id:e.id,type:i})}}))}),[c,u,s,y]);return{initialDate:b.has("month")?new Date(b.get("year"),b.get("month")-1):new Date,events:h,datesSet:v,eventClick:g}},B=g.default((function(e){return{"@global":{".fc-button":{backgroundColor:e.palette.primary.main+" !important",border:"none !important",opacity:"1 !important"},".fc-day-today":{backgroundColor:e.palette.secondary.light+" !important"},"a.fc-daygrid-dot-event":{color:"black !important"}}}})),R=function(e){var t=c.useTheme(),r=M(e);return B(),m.default.createElement(y.default,k({plugins:[b.default],locale:e.locale,initialView:"dayGridMonth",eventBackgroundColor:t.palette.primary.main},r))};R.defaultProps={linkType:"edit"};var N=g.default((function(e){return{"@global":{".fc-button":{backgroundColor:e.palette.primary.main+" !important",border:"none !important",opacity:"1 !important"}}}})),z=function(e){var t=M(e);return N(),m.default.createElement(y.default,k({plugins:[v.default],locale:e.locale,initialView:"listMonth"},t))};z.defaultProps={linkType:"edit"};exports.CalendarList=R,exports.DateInput=function(e){return m.default.createElement(A,k({PickerComponent:a.DatePicker},e))},exports.DateTimeInput=function(e){return m.default.createElement(A,k({PickerComponent:i.DateTimePicker},e))},exports.DaysList=z,exports.TimeInput=function(e){return m.default.createElement(A,k({PickerComponent:o.TimePicker},e))},exports.useFullCalendarProps=M;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/utils.js","../src/Picker.js","../src/useFullCalendarProps.js","../src/CalendarList.js","../src/DaysList.js","../src/index.js"],"sourcesContent":["const leftPad = (nb = 2) => value => ('0'.repeat(nb) + value).slice(-nb);\nconst leftPad4 = leftPad(4);\nconst leftPad2 = leftPad(2);\n\n// yyyy-MM-ddThh:mm\nconst dateTimeRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$/;\n\n/**\n * @param {Date} value value to convert\n * @returns {String} A standardized datetime (yyyy-MM-ddThh:mm), to be passed to an <input type=\"datetime-local\" />\n */\nconst convertDateToString = value => {\n if (!(value instanceof Date) || isNaN(value.getDate())) {\n return '';\n }\n\n const yy = leftPad4(value.getFullYear());\n const MM = leftPad2(value.getMonth() + 1);\n const dd = leftPad2(value.getDate());\n const hh = leftPad2(value.getHours());\n const mm = leftPad2(value.getMinutes());\n return `${yy}-${MM}-${dd}T${hh}:${mm}`;\n};\n\n/**\n * Converts a date from the Redux store, with timezone, to a date string\n * without timezone for use in an <input type=\"datetime-local\" />.\n *\n * @param {Date | String} value date string or object\n */\nexport const dateTimeFormatter = value => {\n // null, undefined and empty string values should not go through convertDateToString\n // otherwise, it returns undefined and will make the input an uncontrolled one.\n if (value == null || value === '') {\n return '';\n }\n\n if (value instanceof Date) {\n return convertDateToString(value);\n }\n\n // valid dates should not be converted\n if (dateTimeRegex.test(value)) {\n return value;\n }\n\n return convertDateToString(new Date(value));\n};\n\n/**\n * Converts a datetime string without timezone to a date object\n * with timezone, using the browser timezone.\n *\n * @param {String} value Date string, formatted as yyyy-MM-ddThh:mm\n * @return {Date}\n */\nexport const dateTimeParser = value => (value ? new Date(value) : '');\n","import React, { useCallback } from 'react';\nimport { useInput, useTranslate, FieldTitle, InputHelperText } from 'react-admin';\nimport { IconButton } from '@material-ui/core';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DateFnsUtils from '@date-io/date-fns';\nimport { dateTimeFormatter, dateTimeParser } from './utils';\nimport ClearIcon from '@material-ui/icons/Clear';\n\nconst sanitizeRestProps = ({\n allowEmpty,\n alwaysOn,\n basePath,\n component,\n defaultValue,\n format,\n formClassName,\n initialValue,\n initializeForm,\n input,\n isRequired,\n label,\n limitChoicesToValue,\n locale,\n meta,\n options,\n optionText,\n optionValue,\n parse,\n record,\n resource,\n source,\n textAlign,\n translate,\n translateChoice,\n labelTime,\n ...rest\n}) => rest;\n\nconst Picker = ({\n PickerComponent,\n format = dateTimeFormatter,\n label,\n options,\n source,\n resource,\n helperText,\n margin = 'dense',\n onBlur,\n onChange,\n onFocus,\n parse = dateTimeParser,\n validate,\n variant = 'filled',\n defaultValue,\n providerOptions: { utils, locale },\n pickerVariant = 'dialog',\n stringFormat = 'ISO',\n allowClear,\n ...rest\n}) => {\n const translate = useTranslate();\n const {\n id,\n input,\n isRequired,\n meta: { error, touched }\n } = useInput({\n format,\n onBlur,\n onChange,\n onFocus,\n parse,\n resource,\n source,\n validate,\n /* type: 'datetime-local', */\n ...rest\n });\n\n const handleChange = useCallback(value => {\n Date.parse(value)\n ? input.onChange(stringFormat === 'ISO' ? value.toISOString() : value.toString())\n : input.onChange(null);\n }, []);\n\n const handleClear = useCallback(e => {\n e.stopPropagation();\n input.onChange(null);\n }, []);\n\n return (\n <MuiPickersUtilsProvider utils={utils || DateFnsUtils} locale={locale}>\n <PickerComponent\n id={id}\n InputLabelProps={{\n shrink: true\n }}\n InputProps={{\n endAdornment: allowClear ? (\n <IconButton onClick={handleClear}>\n <ClearIcon />\n </IconButton>\n ) : (\n undefined\n )\n }}\n label={<FieldTitle label={label} source={source} resource={resource} isRequired={isRequired} />}\n variant={pickerVariant}\n inputVariant={variant}\n margin={margin}\n error={!!(touched && error)}\n helperText={<InputHelperText touched={touched} error={error} helperText={helperText} />}\n clearLabel={translate('ra.action.clear_input_value')}\n cancelLabel={translate('ra.action.cancel')}\n {...options}\n {...sanitizeRestProps(rest)}\n value={input.value ? new Date(input.value) : null}\n onChange={handleChange}\n onBlur={() =>\n input.onBlur(\n input.value\n ? stringFormat === 'ISO'\n ? new Date(input.value).toISOString()\n : new Date(input.value).toString()\n : null\n )\n }\n />\n </MuiPickersUtilsProvider>\n );\n};\n\nPicker.defaultProps = {\n isRequired: false,\n meta: { touched: false, error: false },\n options: {},\n providerOptions: {\n utils: DateFnsUtils,\n locale: undefined\n },\n // Avoid saving an empty string in the dataset\n parse: value => (value === '' ? null : value)\n};\n\nexport default Picker;\n","import React, { useMemo, useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { useListContext, linkToRecord } from 'react-admin';\n\nconst useFullCalendarProps = ({ label, startDate, endDate, linkType }) => {\n const history = useHistory();\n const { ids, data, basePath } = useListContext();\n\n let query = new URLSearchParams(history.location.search);\n\n // Bypass the link in order to use React-Router\n const eventClick = useCallback(({ event, jsEvent }) => {\n jsEvent.preventDefault();\n history.push(event.url);\n }, []);\n\n // Change the query string when month change\n const datesSet = useCallback(\n ({ view }) => {\n query.set('month', view.currentStart.getMonth() + 1);\n query.set('year', view.currentStart.getFullYear());\n history.replace({ pathname: history.location.pathname, search: '?' + query.toString() });\n },\n [query]\n );\n\n const events = useMemo(\n () =>\n ids\n .filter(id => data[id])\n .map(id => ({\n id,\n title: typeof label === 'string' ? data[id][label] : label(data[id]),\n start: typeof startDate === 'string' ? data[id][startDate] : startDate(data[id]),\n end: typeof endDate === 'string' ? data[id][endDate] : endDate(data[id]),\n url: linkToRecord(basePath, id) + '/' + linkType\n })),\n [data, ids, basePath]\n );\n\n return {\n initialDate: query.has('month') ? new Date(query.get('year'), query.get('month') - 1) : new Date(),\n events,\n datesSet,\n eventClick\n };\n};\n\nexport default useFullCalendarProps;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport { useTheme, makeStyles } from '@material-ui/core';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n },\n '.fc-day-today': {\n backgroundColor: theme.palette.secondary.light + ' !important'\n },\n // Overwrite violet color of links\n 'a.fc-daygrid-dot-event': {\n color: 'black !important'\n }\n }\n}));\n\nconst CalendarList = props => {\n const theme = useTheme();\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return (\n <FullCalendar\n plugins={[dayGridPlugin]}\n locale={props.locale}\n initialView=\"dayGridMonth\"\n eventBackgroundColor={theme.palette.primary.main}\n {...fullCalendarProps}\n />\n );\n};\n\nCalendarList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default CalendarList;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport listPlugin from '@fullcalendar/list';\nimport { makeStyles } from '@material-ui/core';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n }\n }\n}));\n\nconst DaysList = props => {\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return <FullCalendar plugins={[listPlugin]} locale={props.locale} initialView=\"listMonth\" {...fullCalendarProps} />;\n};\n\nDaysList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default DaysList;\n","import React from 'react';\nimport {\n DatePicker,\n TimePicker,\n DateTimePicker,\n KeyboardDatePicker,\n KeyboardDateTimePicker,\n KeyboardTimePicker\n} from '@material-ui/pickers';\nimport Picker from './Picker';\n\nconst DateInput = props => <Picker PickerComponent={DatePicker} {...props} />;\nconst TimeInput = props => <Picker PickerComponent={TimePicker} {...props} />;\nconst DateTimeInput = props => <Picker PickerComponent={DateTimePicker} {...props} />;\nconst KeyboardDateInput = props => <Picker PickerComponent={KeyboardDatePicker} {...props} />;\nconst KeyboardDateTimeInput = props => <Picker PickerComponent={KeyboardDateTimePicker} {...props} />;\nconst KeyboardTimeInput = props => <Picker PickerComponent={KeyboardTimePicker} {...props} />;\n\nexport { DateInput, TimeInput, DateTimeInput, KeyboardDateInput, KeyboardDateTimeInput, KeyboardTimeInput };\n\nexport { default as CalendarList } from './CalendarList';\nexport { default as DaysList } from './DaysList';\nexport { default as useFullCalendarProps } from './useFullCalendarProps';\n"],"names":["leftPad","nb","value","repeat","slice","leftPad4","leftPad2","dateTimeRegex","convertDateToString","Date","isNaN","getDate","yy","getFullYear","MM","getMonth","dd","hh","getHours","mm","getMinutes","concat","dateTimeFormatter","test","dateTimeParser","Picker","_ref2","PickerComponent","_ref2$format","format","label","options","source","resource","helperText","_ref2$margin","margin","onBlur","onChange","onFocus","_ref2$parse","parse","validate","_ref2$variant","variant","defaultValue","_ref","_ref2$providerOptions","providerOptions","utils","locale","_ref2$pickerVariant","pickerVariant","_ref2$stringFormat","stringFormat","allowClear","rest","_objectWithoutProperties","_excluded2","translate","useTranslate","_useInput","useInput","_objectSpread","id","input","isRequired","_useInput$meta","meta","error","touched","handleChange","useCallback","toISOString","toString","handleClear","e","stopPropagation","React","MuiPickersUtilsProvider","DateFnsUtils","_extends","InputLabelProps","shrink","InputProps","endAdornment","createElement","IconButton","onClick","ClearIcon","undefined","FieldTitle","inputVariant","InputHelperText","clearLabel","cancelLabel","allowEmpty","alwaysOn","basePath","component","formClassName","initialValue","initializeForm","limitChoicesToValue","optionText","optionValue","record","textAlign","translateChoice","labelTime","_excluded","defaultProps","useFullCalendarProps","startDate","endDate","linkType","history","useHistory","_useListContext","useListContext","ids","data","query","URLSearchParams","location","search","eventClick","event","jsEvent","preventDefault","push","url","datesSet","_ref3","view","set","currentStart","replace","pathname","events","useMemo","filter","map","title","start","end","linkToRecord","initialDate","has","get","useGlobalStyles","makeStyles","theme","@global",".fc-button","backgroundColor","palette","primary","main","border","opacity",".fc-day-today","secondary","light","a.fc-daygrid-dot-event","color","CalendarList","props","useTheme","fullCalendarProps","FullCalendar","plugins","dayGridPlugin","initialView","eventBackgroundColor","DaysList","listPlugin","DatePicker","DateTimePicker","KeyboardDatePicker","KeyboardDateTimePicker","KeyboardTimePicker","TimePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/utils.js","../src/Picker.js","../src/useFullCalendarProps.js","../src/CalendarList.js","../src/DaysList.js","../src/index.js"],"sourcesContent":["const leftPad = (nb = 2) => value => ('0'.repeat(nb) + value).slice(-nb);\nconst leftPad4 = leftPad(4);\nconst leftPad2 = leftPad(2);\n\n// yyyy-MM-ddThh:mm\nconst dateTimeRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$/;\n\n/**\n * @param {Date} value value to convert\n * @returns {String} A standardized datetime (yyyy-MM-ddThh:mm), to be passed to an <input type=\"datetime-local\" />\n */\nconst convertDateToString = value => {\n if (!(value instanceof Date) || isNaN(value.getDate())) {\n return '';\n }\n\n const yy = leftPad4(value.getFullYear());\n const MM = leftPad2(value.getMonth() + 1);\n const dd = leftPad2(value.getDate());\n const hh = leftPad2(value.getHours());\n const mm = leftPad2(value.getMinutes());\n return `${yy}-${MM}-${dd}T${hh}:${mm}`;\n};\n\n/**\n * Converts a date from the Redux store, with timezone, to a date string\n * without timezone for use in an <input type=\"datetime-local\" />.\n *\n * @param {Date | String} value date string or object\n */\nexport const dateTimeFormatter = value => {\n // null, undefined and empty string values should not go through convertDateToString\n // otherwise, it returns undefined and will make the input an uncontrolled one.\n if (value == null || value === '') {\n return '';\n }\n\n if (value instanceof Date) {\n return convertDateToString(value);\n }\n\n // valid dates should not be converted\n if (dateTimeRegex.test(value)) {\n return value;\n }\n\n return convertDateToString(new Date(value));\n};\n\n/**\n * Converts a datetime string without timezone to a date object\n * with timezone, using the browser timezone.\n *\n * @param {String} value Date string, formatted as yyyy-MM-ddThh:mm\n * @return {Date}\n */\nexport const dateTimeParser = value => (value ? new Date(value) : '');\n","import React, { useCallback } from 'react';\nimport { useInput, FieldTitle, InputHelperText } from 'react-admin';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { dateTimeFormatter, dateTimeParser } from './utils';\n\nconst Picker = ({\n PickerComponent,\n format = dateTimeFormatter,\n label,\n source,\n helperText,\n onBlur,\n onChange,\n onFocus,\n parse = dateTimeParser,\n validate,\n defaultValue,\n locale,\n pickerVariant = 'dialog',\n stringFormat = 'ISO',\n allowClear,\n ...rest\n}) => {\n const {\n field,\n isRequired,\n fieldState: { error, isTouched }\n } = useInput({\n format,\n onBlur,\n onChange,\n onFocus,\n parse,\n source,\n validate,\n ...rest\n });\n\n const handleChange = useCallback(value => {\n Date.parse(value)\n ? field.onChange(stringFormat === 'ISO' ? value.toISOString() : value.toString())\n : field.onChange(null);\n }, []);\n\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={locale}>\n <PickerComponent\n label={<FieldTitle label={label} source={source} isRequired={isRequired} />}\n error={!!(isTouched && error)}\n slotProps={{\n textField: {\n helperText: <InputHelperText touched={isTouched} error={error} helperText={helperText} />\n },\n }}\n {...sanitizeRestProps(rest)}\n value={field.value ? new Date(field.value) : null}\n onChange={handleChange}\n onBlur={() =>\n field.onBlur(\n field.value\n ? stringFormat === 'ISO'\n ? new Date(field.value).toISOString()\n : new Date(field.value).toString()\n : null\n )\n }\n />\n </LocalizationProvider>\n );\n};\n\nPicker.defaultProps = {\n isRequired: false,\n meta: { isTouched: false, error: false },\n locale: undefined, // Default to english\n parse: value => (value === '' ? null : value) // Avoid saving an empty string in the dataset\n};\n\nconst sanitizeRestProps = ({\n allowEmpty,\n alwaysOn,\n component,\n defaultValue,\n format,\n formClassName,\n initialValue,\n initializeForm,\n input,\n isRequired,\n label,\n limitChoicesToValue,\n locale,\n meta,\n options,\n optionText,\n optionValue,\n parse,\n source,\n textAlign,\n translate,\n translateChoice,\n labelTime,\n ...rest\n}) => rest;\n\n\nexport default Picker;\n","import React, { useMemo, useCallback } from 'react';\nimport { useSearchParams, useNavigate } from 'react-router-dom';\nimport { useListContext, useCreatePath } from 'react-admin';\n\nconst useFullCalendarProps = ({ label, startDate, endDate, linkType }) => {\n const { data, isLoading, resource } = useListContext();\n const [searchParams, setSearchParams] = useSearchParams();\n const navigate = useNavigate();\n const createPath = useCreatePath();\n\n let query = new URLSearchParams(location.search);\n\n // Bypass the link in order to use React-Router\n const eventClick = useCallback(({ event, jsEvent }) => {\n jsEvent.preventDefault();\n navigate(event.url);\n }, []);\n\n // Change the query string when month change\n const datesSet = useCallback(\n ({ view }) => {\n setSearchParams(params => ({ ...params, month: view.currentStart.getMonth() + 1, year: view.currentStart.getFullYear() }));\n },\n [setSearchParams]\n );\n\n const events = useMemo(\n () =>\n !isLoading &&\n data\n .filter(record => record)\n .map(record => ({\n id: record.id,\n title: typeof label === 'string' ? record[label] : label(record),\n start: typeof startDate === 'string' ? record[startDate] : startDate(record),\n end: typeof endDate === 'string' ? record[endDate] : endDate(record),\n url: createPath({ resource, id: record.id, type: linkType })\n })),\n [isLoading, data, resource, createPath]\n );\n\n return {\n initialDate: query.has('month') ? new Date(query.get('year'), query.get('month') - 1) : new Date(),\n events,\n datesSet,\n eventClick\n };\n};\n\nexport default useFullCalendarProps;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport { useTheme } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n },\n '.fc-day-today': {\n backgroundColor: theme.palette.secondary.light + ' !important'\n },\n // Overwrite violet color of links\n 'a.fc-daygrid-dot-event': {\n color: 'black !important'\n }\n }\n}));\n\nconst CalendarList = props => {\n const theme = useTheme();\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return (\n <FullCalendar\n plugins={[dayGridPlugin]}\n locale={props.locale}\n initialView=\"dayGridMonth\"\n eventBackgroundColor={theme.palette.primary.main}\n {...fullCalendarProps}\n />\n );\n};\n\nCalendarList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default CalendarList;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport listPlugin from '@fullcalendar/list';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n }\n }\n}));\n\nconst DaysList = props => {\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return <FullCalendar plugins={[listPlugin]} locale={props.locale} initialView=\"listMonth\" {...fullCalendarProps} />;\n};\n\nDaysList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default DaysList;\n","import React from 'react';\nimport Picker from './Picker';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { TimePicker } from '@mui/x-date-pickers/TimePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst DateInput = props => <Picker PickerComponent={DatePicker} {...props} />;\nconst TimeInput = props => <Picker PickerComponent={TimePicker} {...props} />;\nconst DateTimeInput = props => <Picker PickerComponent={DateTimePicker} {...props} />;\n\nexport { DateInput, TimeInput, DateTimeInput };\n\nexport { default as CalendarList } from './CalendarList';\nexport { default as DaysList } from './DaysList';\nexport { default as useFullCalendarProps } from './useFullCalendarProps';\n"],"names":["leftPad","nb","value","repeat","slice","leftPad4","leftPad2","dateTimeRegex","convertDateToString","Date","isNaN","getDate","yy","getFullYear","MM","getMonth","dd","hh","getHours","mm","getMinutes","concat","dateTimeFormatter","test","dateTimeParser","Picker","_ref","PickerComponent","_ref$format","format","label","source","helperText","onBlur","onChange","onFocus","_ref$parse","parse","validate","defaultValue","locale","pickerVariant","_ref$stringFormat","stringFormat","allowClear","rest","_objectWithoutProperties","_excluded","_useInput","useInput","_objectSpread","field","isRequired","_useInput$fieldState","fieldState","error","isTouched","handleChange","useCallback","toISOString","toString","React","LocalizationProvider","dateAdapter","AdapterDateFns","adapterLocale","_extends","FieldTitle","slotProps","textField","InputHelperText","touched","sanitizeRestProps","defaultProps","meta","undefined","_ref2","allowEmpty","alwaysOn","component","formClassName","initialValue","initializeForm","input","limitChoicesToValue","options","optionText","optionValue","textAlign","translate","translateChoice","labelTime","_excluded2","useFullCalendarProps","startDate","endDate","linkType","_useListContext","useListContext","data","isLoading","resource","_useSearchParams2","_slicedToArray","useSearchParams","setSearchParams","navigate","useNavigate","createPath","useCreatePath","query","URLSearchParams","location","search","eventClick","event","jsEvent","preventDefault","url","datesSet","_ref3","view","params","month","currentStart","year","events","useMemo","filter","record","map","id","title","start","end","type","initialDate","has","get","useGlobalStyles","makeStyles","theme","@global",".fc-button","backgroundColor","palette","primary","main","border","opacity",".fc-day-today","secondary","light","a.fc-daygrid-dot-event","color","CalendarList","props","useTheme","fullCalendarProps","FullCalendar","plugins","dayGridPlugin","initialView","eventBackgroundColor","DaysList","listPlugin","DatePicker","DateTimePicker","TimePicker"],"mappings":"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"}
|
package/dist/index.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useCallback as t,useMemo as r}from"react";import{
|
|
1
|
+
import e,{useCallback as t,useMemo as r}from"react";import{useInput as n,FieldTitle as o,InputHelperText as a,useListContext as i,useCreatePath as l}from"react-admin";import{LocalizationProvider as u}from"@mui/x-date-pickers/LocalizationProvider";import{AdapterDateFns as c}from"@mui/x-date-pickers/AdapterDateFns";import{DatePicker as p}from"@mui/x-date-pickers/DatePicker";import{TimePicker as f}from"@mui/x-date-pickers/TimePicker";import{DateTimePicker as m}from"@mui/x-date-pickers/DateTimePicker";import s from"@fullcalendar/react";import d from"@fullcalendar/daygrid";import{useTheme as y}from"@mui/material";import g from"@mui/styles/makeStyles";import{useSearchParams as b,useNavigate as v}from"react-router-dom";import h from"@fullcalendar/list";function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach((function(t){k(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function k(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function P(){return(P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function C(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,a=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw o}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return j(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return j(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return function(t){return("0".repeat(e)+t).slice(-e)}},T=D(4),x=D(2),E=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/,V=function(e){if(!(e instanceof Date)||isNaN(e.getDate()))return"";var t=T(e.getFullYear()),r=x(e.getMonth()+1),n=x(e.getDate()),o=x(e.getHours()),a=x(e.getMinutes());return"".concat(t,"-").concat(r,"-").concat(n,"T").concat(o,":").concat(a)},F=function(e){return null==e||""===e?"":e instanceof Date?V(e):E.test(e)?e:V(new Date(e))},A=function(e){return e?new Date(e):""},I=["PickerComponent","format","label","source","helperText","onBlur","onChange","onFocus","parse","validate","defaultValue","locale","pickerVariant","stringFormat","allowClear"],B=["allowEmpty","alwaysOn","component","defaultValue","format","formClassName","initialValue","initializeForm","input","isRequired","label","limitChoicesToValue","locale","meta","options","optionText","optionValue","parse","source","textAlign","translate","translateChoice","labelTime"],M=function(r){var i=r.PickerComponent,l=r.format,p=void 0===l?F:l,f=r.label,m=r.source,s=r.helperText,d=r.onBlur,y=r.onChange,g=r.onFocus,b=r.parse,v=void 0===b?A:b,h=r.validate;r.defaultValue;var O=r.locale;r.pickerVariant;var k=r.stringFormat,S=void 0===k?"ISO":k;r.allowClear;var j=C(r,I),D=n(w({format:p,onBlur:d,onChange:y,onFocus:g,parse:v,source:m,validate:h},j)),T=D.field,x=D.isRequired,E=D.fieldState,V=E.error,B=E.isTouched,M=t((function(e){Date.parse(e)?T.onChange("ISO"===S?e.toISOString():e.toString()):T.onChange(null)}),[]);return e.createElement(u,{dateAdapter:c,adapterLocale:O},e.createElement(i,P({label:e.createElement(o,{label:f,source:m,isRequired:x}),error:!(!B||!V),slotProps:{textField:{helperText:e.createElement(a,{touched:B,error:V,helperText:s})}}},R(j),{value:T.value?new Date(T.value):null,onChange:M,onBlur:function(){return T.onBlur(T.value?"ISO"===S?new Date(T.value).toISOString():new Date(T.value).toString():null)}})))};M.defaultProps={isRequired:!1,meta:{isTouched:!1,error:!1},locale:void 0,parse:function(e){return""===e?null:e}};var R=function(e){return e.allowEmpty,e.alwaysOn,e.component,e.defaultValue,e.format,e.formClassName,e.initialValue,e.initializeForm,e.input,e.isRequired,e.label,e.limitChoicesToValue,e.locale,e.meta,e.options,e.optionText,e.optionValue,e.parse,e.source,e.textAlign,e.translate,e.translateChoice,e.labelTime,C(e,B)},q=function(e){var n=e.label,o=e.startDate,a=e.endDate,u=e.linkType,c=i(),p=c.data,f=c.isLoading,m=c.resource,s=S(b(),2);s[0];var d=s[1],y=v(),g=l(),h=new URLSearchParams(location.search),O=t((function(e){var t=e.event;e.jsEvent.preventDefault(),y(t.url)}),[]),k=t((function(e){var t=e.view;d((function(e){return w(w({},e),{},{month:t.currentStart.getMonth()+1,year:t.currentStart.getFullYear()})}))}),[d]),P=r((function(){return!f&&p.filter((function(e){return e})).map((function(e){return{id:e.id,title:"string"==typeof n?e[n]:n(e),start:"string"==typeof o?e[o]:o(e),end:"string"==typeof a?e[a]:a(e),url:g({resource:m,id:e.id,type:u})}}))}),[f,p,m,g]);return{initialDate:h.has("month")?new Date(h.get("year"),h.get("month")-1):new Date,events:P,datesSet:k,eventClick:O}},L=g((function(e){return{"@global":{".fc-button":{backgroundColor:e.palette.primary.main+" !important",border:"none !important",opacity:"1 !important"},".fc-day-today":{backgroundColor:e.palette.secondary.light+" !important"},"a.fc-daygrid-dot-event":{color:"black !important"}}}})),N=function(t){var r=y(),n=q(t);return L(),e.createElement(s,P({plugins:[d],locale:t.locale,initialView:"dayGridMonth",eventBackgroundColor:r.palette.primary.main},n))};N.defaultProps={linkType:"edit"};var z=g((function(e){return{"@global":{".fc-button":{backgroundColor:e.palette.primary.main+" !important",border:"none !important",opacity:"1 !important"}}}})),U=function(t){var r=q(t);return z(),e.createElement(s,P({plugins:[h],locale:t.locale,initialView:"listMonth"},r))};U.defaultProps={linkType:"edit"};var Y=function(t){return e.createElement(M,P({PickerComponent:p},t))},$=function(t){return e.createElement(M,P({PickerComponent:f},t))},G=function(t){return e.createElement(M,P({PickerComponent:m},t))};export{N as CalendarList,Y as DateInput,G as DateTimeInput,U as DaysList,$ as TimeInput,q as useFullCalendarProps};
|
|
2
2
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/utils.js","../src/Picker.js","../src/useFullCalendarProps.js","../src/CalendarList.js","../src/DaysList.js","../src/index.js"],"sourcesContent":["const leftPad = (nb = 2) => value => ('0'.repeat(nb) + value).slice(-nb);\nconst leftPad4 = leftPad(4);\nconst leftPad2 = leftPad(2);\n\n// yyyy-MM-ddThh:mm\nconst dateTimeRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$/;\n\n/**\n * @param {Date} value value to convert\n * @returns {String} A standardized datetime (yyyy-MM-ddThh:mm), to be passed to an <input type=\"datetime-local\" />\n */\nconst convertDateToString = value => {\n if (!(value instanceof Date) || isNaN(value.getDate())) {\n return '';\n }\n\n const yy = leftPad4(value.getFullYear());\n const MM = leftPad2(value.getMonth() + 1);\n const dd = leftPad2(value.getDate());\n const hh = leftPad2(value.getHours());\n const mm = leftPad2(value.getMinutes());\n return `${yy}-${MM}-${dd}T${hh}:${mm}`;\n};\n\n/**\n * Converts a date from the Redux store, with timezone, to a date string\n * without timezone for use in an <input type=\"datetime-local\" />.\n *\n * @param {Date | String} value date string or object\n */\nexport const dateTimeFormatter = value => {\n // null, undefined and empty string values should not go through convertDateToString\n // otherwise, it returns undefined and will make the input an uncontrolled one.\n if (value == null || value === '') {\n return '';\n }\n\n if (value instanceof Date) {\n return convertDateToString(value);\n }\n\n // valid dates should not be converted\n if (dateTimeRegex.test(value)) {\n return value;\n }\n\n return convertDateToString(new Date(value));\n};\n\n/**\n * Converts a datetime string without timezone to a date object\n * with timezone, using the browser timezone.\n *\n * @param {String} value Date string, formatted as yyyy-MM-ddThh:mm\n * @return {Date}\n */\nexport const dateTimeParser = value => (value ? new Date(value) : '');\n","import React, { useCallback } from 'react';\nimport { useInput, useTranslate, FieldTitle, InputHelperText } from 'react-admin';\nimport { IconButton } from '@material-ui/core';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DateFnsUtils from '@date-io/date-fns';\nimport { dateTimeFormatter, dateTimeParser } from './utils';\nimport ClearIcon from '@material-ui/icons/Clear';\n\nconst sanitizeRestProps = ({\n allowEmpty,\n alwaysOn,\n basePath,\n component,\n defaultValue,\n format,\n formClassName,\n initialValue,\n initializeForm,\n input,\n isRequired,\n label,\n limitChoicesToValue,\n locale,\n meta,\n options,\n optionText,\n optionValue,\n parse,\n record,\n resource,\n source,\n textAlign,\n translate,\n translateChoice,\n labelTime,\n ...rest\n}) => rest;\n\nconst Picker = ({\n PickerComponent,\n format = dateTimeFormatter,\n label,\n options,\n source,\n resource,\n helperText,\n margin = 'dense',\n onBlur,\n onChange,\n onFocus,\n parse = dateTimeParser,\n validate,\n variant = 'filled',\n defaultValue,\n providerOptions: { utils, locale },\n pickerVariant = 'dialog',\n stringFormat = 'ISO',\n allowClear,\n ...rest\n}) => {\n const translate = useTranslate();\n const {\n id,\n input,\n isRequired,\n meta: { error, touched }\n } = useInput({\n format,\n onBlur,\n onChange,\n onFocus,\n parse,\n resource,\n source,\n validate,\n /* type: 'datetime-local', */\n ...rest\n });\n\n const handleChange = useCallback(value => {\n Date.parse(value)\n ? input.onChange(stringFormat === 'ISO' ? value.toISOString() : value.toString())\n : input.onChange(null);\n }, []);\n\n const handleClear = useCallback(e => {\n e.stopPropagation();\n input.onChange(null);\n }, []);\n\n return (\n <MuiPickersUtilsProvider utils={utils || DateFnsUtils} locale={locale}>\n <PickerComponent\n id={id}\n InputLabelProps={{\n shrink: true\n }}\n InputProps={{\n endAdornment: allowClear ? (\n <IconButton onClick={handleClear}>\n <ClearIcon />\n </IconButton>\n ) : (\n undefined\n )\n }}\n label={<FieldTitle label={label} source={source} resource={resource} isRequired={isRequired} />}\n variant={pickerVariant}\n inputVariant={variant}\n margin={margin}\n error={!!(touched && error)}\n helperText={<InputHelperText touched={touched} error={error} helperText={helperText} />}\n clearLabel={translate('ra.action.clear_input_value')}\n cancelLabel={translate('ra.action.cancel')}\n {...options}\n {...sanitizeRestProps(rest)}\n value={input.value ? new Date(input.value) : null}\n onChange={handleChange}\n onBlur={() =>\n input.onBlur(\n input.value\n ? stringFormat === 'ISO'\n ? new Date(input.value).toISOString()\n : new Date(input.value).toString()\n : null\n )\n }\n />\n </MuiPickersUtilsProvider>\n );\n};\n\nPicker.defaultProps = {\n isRequired: false,\n meta: { touched: false, error: false },\n options: {},\n providerOptions: {\n utils: DateFnsUtils,\n locale: undefined\n },\n // Avoid saving an empty string in the dataset\n parse: value => (value === '' ? null : value)\n};\n\nexport default Picker;\n","import React, { useMemo, useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { useListContext, linkToRecord } from 'react-admin';\n\nconst useFullCalendarProps = ({ label, startDate, endDate, linkType }) => {\n const history = useHistory();\n const { ids, data, basePath } = useListContext();\n\n let query = new URLSearchParams(history.location.search);\n\n // Bypass the link in order to use React-Router\n const eventClick = useCallback(({ event, jsEvent }) => {\n jsEvent.preventDefault();\n history.push(event.url);\n }, []);\n\n // Change the query string when month change\n const datesSet = useCallback(\n ({ view }) => {\n query.set('month', view.currentStart.getMonth() + 1);\n query.set('year', view.currentStart.getFullYear());\n history.replace({ pathname: history.location.pathname, search: '?' + query.toString() });\n },\n [query]\n );\n\n const events = useMemo(\n () =>\n ids\n .filter(id => data[id])\n .map(id => ({\n id,\n title: typeof label === 'string' ? data[id][label] : label(data[id]),\n start: typeof startDate === 'string' ? data[id][startDate] : startDate(data[id]),\n end: typeof endDate === 'string' ? data[id][endDate] : endDate(data[id]),\n url: linkToRecord(basePath, id) + '/' + linkType\n })),\n [data, ids, basePath]\n );\n\n return {\n initialDate: query.has('month') ? new Date(query.get('year'), query.get('month') - 1) : new Date(),\n events,\n datesSet,\n eventClick\n };\n};\n\nexport default useFullCalendarProps;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport { useTheme, makeStyles } from '@material-ui/core';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n },\n '.fc-day-today': {\n backgroundColor: theme.palette.secondary.light + ' !important'\n },\n // Overwrite violet color of links\n 'a.fc-daygrid-dot-event': {\n color: 'black !important'\n }\n }\n}));\n\nconst CalendarList = props => {\n const theme = useTheme();\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return (\n <FullCalendar\n plugins={[dayGridPlugin]}\n locale={props.locale}\n initialView=\"dayGridMonth\"\n eventBackgroundColor={theme.palette.primary.main}\n {...fullCalendarProps}\n />\n );\n};\n\nCalendarList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default CalendarList;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport listPlugin from '@fullcalendar/list';\nimport { makeStyles } from '@material-ui/core';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n }\n }\n}));\n\nconst DaysList = props => {\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return <FullCalendar plugins={[listPlugin]} locale={props.locale} initialView=\"listMonth\" {...fullCalendarProps} />;\n};\n\nDaysList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default DaysList;\n","import React from 'react';\nimport {\n DatePicker,\n TimePicker,\n DateTimePicker,\n KeyboardDatePicker,\n KeyboardDateTimePicker,\n KeyboardTimePicker\n} from '@material-ui/pickers';\nimport Picker from './Picker';\n\nconst DateInput = props => <Picker PickerComponent={DatePicker} {...props} />;\nconst TimeInput = props => <Picker PickerComponent={TimePicker} {...props} />;\nconst DateTimeInput = props => <Picker PickerComponent={DateTimePicker} {...props} />;\nconst KeyboardDateInput = props => <Picker PickerComponent={KeyboardDatePicker} {...props} />;\nconst KeyboardDateTimeInput = props => <Picker PickerComponent={KeyboardDateTimePicker} {...props} />;\nconst KeyboardTimeInput = props => <Picker PickerComponent={KeyboardTimePicker} {...props} />;\n\nexport { DateInput, TimeInput, DateTimeInput, KeyboardDateInput, KeyboardDateTimeInput, KeyboardTimeInput };\n\nexport { default as CalendarList } from './CalendarList';\nexport { default as DaysList } from './DaysList';\nexport { default as useFullCalendarProps } from './useFullCalendarProps';\n"],"names":["leftPad","nb","value","repeat","slice","leftPad4","leftPad2","dateTimeRegex","convertDateToString","Date","isNaN","getDate","yy","getFullYear","MM","getMonth","dd","hh","getHours","mm","getMinutes","concat","dateTimeFormatter","test","dateTimeParser","Picker","_ref2","PickerComponent","_ref2$format","format","label","options","source","resource","helperText","_ref2$margin","margin","onBlur","onChange","onFocus","_ref2$parse","parse","validate","_ref2$variant","variant","defaultValue","_ref","_ref2$providerOptions","providerOptions","utils","locale","_ref2$pickerVariant","pickerVariant","_ref2$stringFormat","stringFormat","allowClear","rest","_objectWithoutProperties","_excluded2","translate","useTranslate","_useInput","useInput","_objectSpread","id","input","isRequired","_useInput$meta","meta","error","touched","handleChange","useCallback","toISOString","toString","handleClear","e","stopPropagation","React","MuiPickersUtilsProvider","DateFnsUtils","_extends","InputLabelProps","shrink","InputProps","endAdornment","createElement","IconButton","onClick","ClearIcon","undefined","FieldTitle","inputVariant","InputHelperText","clearLabel","cancelLabel","allowEmpty","alwaysOn","basePath","component","formClassName","initialValue","initializeForm","limitChoicesToValue","optionText","optionValue","record","textAlign","translateChoice","labelTime","_excluded","defaultProps","useFullCalendarProps","startDate","endDate","linkType","history","useHistory","_useListContext","useListContext","ids","data","query","URLSearchParams","location","search","eventClick","event","jsEvent","preventDefault","push","url","datesSet","_ref3","view","set","currentStart","replace","pathname","events","useMemo","filter","map","title","start","end","linkToRecord","initialDate","has","get","useGlobalStyles","makeStyles","theme","@global",".fc-button","backgroundColor","palette","primary","main","border","opacity",".fc-day-today","secondary","light","a.fc-daygrid-dot-event","color","CalendarList","props","useTheme","fullCalendarProps","FullCalendar","plugins","dayGridPlugin","initialView","eventBackgroundColor","DaysList","listPlugin","DateInput","DatePicker","TimeInput","TimePicker","DateTimeInput","DateTimePicker","KeyboardDateInput","KeyboardDatePicker","KeyboardDateTimeInput","KeyboardDateTimePicker","KeyboardTimeInput","KeyboardTimePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/utils.js","../src/Picker.js","../src/useFullCalendarProps.js","../src/CalendarList.js","../src/DaysList.js","../src/index.js"],"sourcesContent":["const leftPad = (nb = 2) => value => ('0'.repeat(nb) + value).slice(-nb);\nconst leftPad4 = leftPad(4);\nconst leftPad2 = leftPad(2);\n\n// yyyy-MM-ddThh:mm\nconst dateTimeRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$/;\n\n/**\n * @param {Date} value value to convert\n * @returns {String} A standardized datetime (yyyy-MM-ddThh:mm), to be passed to an <input type=\"datetime-local\" />\n */\nconst convertDateToString = value => {\n if (!(value instanceof Date) || isNaN(value.getDate())) {\n return '';\n }\n\n const yy = leftPad4(value.getFullYear());\n const MM = leftPad2(value.getMonth() + 1);\n const dd = leftPad2(value.getDate());\n const hh = leftPad2(value.getHours());\n const mm = leftPad2(value.getMinutes());\n return `${yy}-${MM}-${dd}T${hh}:${mm}`;\n};\n\n/**\n * Converts a date from the Redux store, with timezone, to a date string\n * without timezone for use in an <input type=\"datetime-local\" />.\n *\n * @param {Date | String} value date string or object\n */\nexport const dateTimeFormatter = value => {\n // null, undefined and empty string values should not go through convertDateToString\n // otherwise, it returns undefined and will make the input an uncontrolled one.\n if (value == null || value === '') {\n return '';\n }\n\n if (value instanceof Date) {\n return convertDateToString(value);\n }\n\n // valid dates should not be converted\n if (dateTimeRegex.test(value)) {\n return value;\n }\n\n return convertDateToString(new Date(value));\n};\n\n/**\n * Converts a datetime string without timezone to a date object\n * with timezone, using the browser timezone.\n *\n * @param {String} value Date string, formatted as yyyy-MM-ddThh:mm\n * @return {Date}\n */\nexport const dateTimeParser = value => (value ? new Date(value) : '');\n","import React, { useCallback } from 'react';\nimport { useInput, FieldTitle, InputHelperText } from 'react-admin';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { dateTimeFormatter, dateTimeParser } from './utils';\n\nconst Picker = ({\n PickerComponent,\n format = dateTimeFormatter,\n label,\n source,\n helperText,\n onBlur,\n onChange,\n onFocus,\n parse = dateTimeParser,\n validate,\n defaultValue,\n locale,\n pickerVariant = 'dialog',\n stringFormat = 'ISO',\n allowClear,\n ...rest\n}) => {\n const {\n field,\n isRequired,\n fieldState: { error, isTouched }\n } = useInput({\n format,\n onBlur,\n onChange,\n onFocus,\n parse,\n source,\n validate,\n ...rest\n });\n\n const handleChange = useCallback(value => {\n Date.parse(value)\n ? field.onChange(stringFormat === 'ISO' ? value.toISOString() : value.toString())\n : field.onChange(null);\n }, []);\n\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={locale}>\n <PickerComponent\n label={<FieldTitle label={label} source={source} isRequired={isRequired} />}\n error={!!(isTouched && error)}\n slotProps={{\n textField: {\n helperText: <InputHelperText touched={isTouched} error={error} helperText={helperText} />\n },\n }}\n {...sanitizeRestProps(rest)}\n value={field.value ? new Date(field.value) : null}\n onChange={handleChange}\n onBlur={() =>\n field.onBlur(\n field.value\n ? stringFormat === 'ISO'\n ? new Date(field.value).toISOString()\n : new Date(field.value).toString()\n : null\n )\n }\n />\n </LocalizationProvider>\n );\n};\n\nPicker.defaultProps = {\n isRequired: false,\n meta: { isTouched: false, error: false },\n locale: undefined, // Default to english\n parse: value => (value === '' ? null : value) // Avoid saving an empty string in the dataset\n};\n\nconst sanitizeRestProps = ({\n allowEmpty,\n alwaysOn,\n component,\n defaultValue,\n format,\n formClassName,\n initialValue,\n initializeForm,\n input,\n isRequired,\n label,\n limitChoicesToValue,\n locale,\n meta,\n options,\n optionText,\n optionValue,\n parse,\n source,\n textAlign,\n translate,\n translateChoice,\n labelTime,\n ...rest\n}) => rest;\n\n\nexport default Picker;\n","import React, { useMemo, useCallback } from 'react';\nimport { useSearchParams, useNavigate } from 'react-router-dom';\nimport { useListContext, useCreatePath } from 'react-admin';\n\nconst useFullCalendarProps = ({ label, startDate, endDate, linkType }) => {\n const { data, isLoading, resource } = useListContext();\n const [searchParams, setSearchParams] = useSearchParams();\n const navigate = useNavigate();\n const createPath = useCreatePath();\n\n let query = new URLSearchParams(location.search);\n\n // Bypass the link in order to use React-Router\n const eventClick = useCallback(({ event, jsEvent }) => {\n jsEvent.preventDefault();\n navigate(event.url);\n }, []);\n\n // Change the query string when month change\n const datesSet = useCallback(\n ({ view }) => {\n setSearchParams(params => ({ ...params, month: view.currentStart.getMonth() + 1, year: view.currentStart.getFullYear() }));\n },\n [setSearchParams]\n );\n\n const events = useMemo(\n () =>\n !isLoading &&\n data\n .filter(record => record)\n .map(record => ({\n id: record.id,\n title: typeof label === 'string' ? record[label] : label(record),\n start: typeof startDate === 'string' ? record[startDate] : startDate(record),\n end: typeof endDate === 'string' ? record[endDate] : endDate(record),\n url: createPath({ resource, id: record.id, type: linkType })\n })),\n [isLoading, data, resource, createPath]\n );\n\n return {\n initialDate: query.has('month') ? new Date(query.get('year'), query.get('month') - 1) : new Date(),\n events,\n datesSet,\n eventClick\n };\n};\n\nexport default useFullCalendarProps;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport { useTheme } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n },\n '.fc-day-today': {\n backgroundColor: theme.palette.secondary.light + ' !important'\n },\n // Overwrite violet color of links\n 'a.fc-daygrid-dot-event': {\n color: 'black !important'\n }\n }\n}));\n\nconst CalendarList = props => {\n const theme = useTheme();\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return (\n <FullCalendar\n plugins={[dayGridPlugin]}\n locale={props.locale}\n initialView=\"dayGridMonth\"\n eventBackgroundColor={theme.palette.primary.main}\n {...fullCalendarProps}\n />\n );\n};\n\nCalendarList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default CalendarList;\n","import React from 'react';\nimport FullCalendar from '@fullcalendar/react';\nimport listPlugin from '@fullcalendar/list';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useFullCalendarProps from './useFullCalendarProps';\n\nconst useGlobalStyles = makeStyles(theme => ({\n '@global': {\n '.fc-button': {\n backgroundColor: theme.palette.primary.main + ' !important',\n border: 'none !important',\n opacity: '1 !important'\n }\n }\n}));\n\nconst DaysList = props => {\n const fullCalendarProps = useFullCalendarProps(props);\n useGlobalStyles();\n\n return <FullCalendar plugins={[listPlugin]} locale={props.locale} initialView=\"listMonth\" {...fullCalendarProps} />;\n};\n\nDaysList.defaultProps = {\n linkType: 'edit'\n};\n\nexport default DaysList;\n","import React from 'react';\nimport Picker from './Picker';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { TimePicker } from '@mui/x-date-pickers/TimePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst DateInput = props => <Picker PickerComponent={DatePicker} {...props} />;\nconst TimeInput = props => <Picker PickerComponent={TimePicker} {...props} />;\nconst DateTimeInput = props => <Picker PickerComponent={DateTimePicker} {...props} />;\n\nexport { DateInput, TimeInput, DateTimeInput };\n\nexport { default as CalendarList } from './CalendarList';\nexport { default as DaysList } from './DaysList';\nexport { default as useFullCalendarProps } from './useFullCalendarProps';\n"],"names":["leftPad","nb","value","repeat","slice","leftPad4","leftPad2","dateTimeRegex","convertDateToString","Date","isNaN","getDate","yy","getFullYear","MM","getMonth","dd","hh","getHours","mm","getMinutes","concat","dateTimeFormatter","test","dateTimeParser","Picker","_ref","PickerComponent","_ref$format","format","label","source","helperText","onBlur","onChange","onFocus","_ref$parse","parse","validate","defaultValue","locale","pickerVariant","_ref$stringFormat","stringFormat","allowClear","rest","_objectWithoutProperties","_excluded","_useInput","useInput","_objectSpread","field","isRequired","_useInput$fieldState","fieldState","error","isTouched","handleChange","useCallback","toISOString","toString","React","LocalizationProvider","dateAdapter","AdapterDateFns","adapterLocale","_extends","FieldTitle","slotProps","textField","InputHelperText","touched","sanitizeRestProps","defaultProps","meta","undefined","_ref2","allowEmpty","alwaysOn","component","formClassName","initialValue","initializeForm","input","limitChoicesToValue","options","optionText","optionValue","textAlign","translate","translateChoice","labelTime","_excluded2","useFullCalendarProps","startDate","endDate","linkType","_useListContext","useListContext","data","isLoading","resource","_useSearchParams2","_slicedToArray","useSearchParams","setSearchParams","navigate","useNavigate","createPath","useCreatePath","query","URLSearchParams","location","search","eventClick","event","jsEvent","preventDefault","url","datesSet","_ref3","view","params","month","currentStart","year","events","useMemo","filter","record","map","id","title","start","end","type","initialDate","has","get","useGlobalStyles","makeStyles","theme","@global",".fc-button","backgroundColor","palette","primary","main","border","opacity",".fc-day-today","secondary","light","a.fc-daygrid-dot-event","color","CalendarList","props","useTheme","fullCalendarProps","FullCalendar","plugins","dayGridPlugin","initialView","eventBackgroundColor","DaysList","listPlugin","DateInput","DatePicker","TimeInput","TimePicker","DateTimeInput","DateTimePicker"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semapps/date-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-alpha.0",
|
|
4
4
|
"description": "React-Admin components for date display and input",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Virtual Assembly",
|
|
@@ -14,18 +14,16 @@
|
|
|
14
14
|
"dev": "rollup --watch --sourcemap --config"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@date-io/core": "^1.3.6",
|
|
18
|
-
"@date-io/date-fns": "^1.3.13",
|
|
19
17
|
"@fullcalendar/core": "^5.7.2",
|
|
20
18
|
"@fullcalendar/daygrid": "^5.7.2",
|
|
21
19
|
"@fullcalendar/list": "^5.7.2",
|
|
22
20
|
"@fullcalendar/react": "^5.7.0",
|
|
23
|
-
"@
|
|
21
|
+
"@mui/x-date-pickers": "^6.6.0",
|
|
24
22
|
"date-fns": "~2.8.1"
|
|
25
23
|
},
|
|
26
24
|
"peerDependencies": {
|
|
27
|
-
"react": "^
|
|
28
|
-
"react-admin": "^
|
|
25
|
+
"react": "^18.2.0",
|
|
26
|
+
"react-admin": "^4.11.0"
|
|
29
27
|
},
|
|
30
28
|
"publishConfig": {
|
|
31
29
|
"access": "public"
|
|
@@ -43,5 +41,5 @@
|
|
|
43
41
|
"rollup-plugin-terser": "^5.3.0",
|
|
44
42
|
"rollup-pluginutils": "^2.8.2"
|
|
45
43
|
},
|
|
46
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "18dc6eb20125da9eab1cf0f20600dbd0ef42cb0b"
|
|
47
45
|
}
|