dinocollab-core 1.0.3 → 1.0.4

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.
Files changed (101) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -487
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/dist/api-context/alert-global.js +1 -165
  4. package/dist/api-context/alert-global.js.map +1 -1
  5. package/dist/api-context/drawer-global.js +1 -111
  6. package/dist/api-context/drawer-global.js.map +1 -1
  7. package/dist/api-context/global-modal.js +1 -94
  8. package/dist/api-context/global-modal.js.map +1 -1
  9. package/dist/api-context/popover-global.js +1 -109
  10. package/dist/api-context/popover-global.js.map +1 -1
  11. package/dist/api-context/popover.js +1 -93
  12. package/dist/api-context/popover.js.map +1 -1
  13. package/dist/api-context/ui.units.js +1 -22
  14. package/dist/api-context/ui.units.js.map +1 -1
  15. package/dist/components/breadcrumbs.js +1 -64
  16. package/dist/components/breadcrumbs.js.map +1 -1
  17. package/dist/components/copy-to-clipboard.js +1 -111
  18. package/dist/components/copy-to-clipboard.js.map +1 -1
  19. package/dist/components/help-tooltip.js +1 -103
  20. package/dist/components/help-tooltip.js.map +1 -1
  21. package/dist/components/image-with-fallback.js +1 -50
  22. package/dist/components/image-with-fallback.js.map +1 -1
  23. package/dist/components/text-editor.js +1 -117
  24. package/dist/components/text-editor.js.map +1 -1
  25. package/dist/components/text-editor.preview.js +1 -26
  26. package/dist/components/text-editor.preview.js.map +1 -1
  27. package/dist/form/create.autocomplete.chips.js +1 -227
  28. package/dist/form/create.autocomplete.chips.js.map +1 -1
  29. package/dist/form/create.date-expired.js +1 -210
  30. package/dist/form/create.date-expired.js.map +1 -1
  31. package/dist/form/create.date-picker.js +1 -127
  32. package/dist/form/create.date-picker.js.map +1 -1
  33. package/dist/form/create.form-base.js +1 -140
  34. package/dist/form/create.form-base.js.map +1 -1
  35. package/dist/form/create.form-comfirm.js +1 -130
  36. package/dist/form/create.form-comfirm.js.map +1 -1
  37. package/dist/form/create.form-grid-layout.js +1 -187
  38. package/dist/form/create.form-grid-layout.js.map +1 -1
  39. package/dist/form/create.form-grid-layout.units.js +1 -41
  40. package/dist/form/create.form-grid-layout.units.js.map +1 -1
  41. package/dist/form/create.input.file.js +1 -78
  42. package/dist/form/create.input.file.js.map +1 -1
  43. package/dist/form/create.input.js +1 -275
  44. package/dist/form/create.input.js.map +1 -1
  45. package/dist/form/create.select-simple.js +1 -113
  46. package/dist/form/create.select-simple.js.map +1 -1
  47. package/dist/form/create.select-with-api.js +1 -276
  48. package/dist/form/create.select-with-api.js.map +1 -1
  49. package/dist/form/create.text-editor.js +1 -180
  50. package/dist/form/create.text-editor.js.map +1 -1
  51. package/dist/form/dino-form.js +1 -40
  52. package/dist/form/dino-form.js.map +1 -1
  53. package/dist/form/helper.js +1 -156
  54. package/dist/form/helper.js.map +1 -1
  55. package/dist/form/modal-wrapper.js +1 -81
  56. package/dist/form/modal-wrapper.js.map +1 -1
  57. package/dist/form/validator.js +1 -189
  58. package/dist/form/validator.js.map +1 -1
  59. package/dist/hooks/index.js +1 -47
  60. package/dist/hooks/index.js.map +1 -1
  61. package/dist/index.js +1 -32
  62. package/dist/index.js.map +1 -1
  63. package/dist/redux/create.hoc-lazy.js +1 -70
  64. package/dist/redux/create.hoc-lazy.js.map +1 -1
  65. package/dist/redux/dino.js +1 -10
  66. package/dist/redux/dino.js.map +1 -1
  67. package/dist/redux/types.js +1 -8
  68. package/dist/redux/types.js.map +1 -1
  69. package/dist/redux/ui.error-page.js +1 -88
  70. package/dist/redux/ui.error-page.js.map +1 -1
  71. package/dist/redux/vector-404.webp.js +1 -3
  72. package/dist/redux/vector-404.webp.js.map +1 -1
  73. package/dist/table/context.js +1 -14
  74. package/dist/table/context.js.map +1 -1
  75. package/dist/table/create.action-row.js +1 -143
  76. package/dist/table/create.action-row.js.map +1 -1
  77. package/dist/table/create.table.js +1 -245
  78. package/dist/table/create.table.js.map +1 -1
  79. package/dist/table/custom.filter-operators.js +1 -88
  80. package/dist/table/custom.filter-operators.js.map +1 -1
  81. package/dist/table/dino.js +1 -135
  82. package/dist/table/dino.js.map +1 -1
  83. package/dist/table/helpers.js +1 -114
  84. package/dist/table/helpers.js.map +1 -1
  85. package/dist/table/model-filter.js +1 -22
  86. package/dist/table/model-filter.js.map +1 -1
  87. package/dist/table/toolbar-pannel.js +1 -142
  88. package/dist/table/toolbar-pannel.js.map +1 -1
  89. package/dist/table/ui.buttons.js +1 -66
  90. package/dist/table/ui.buttons.js.map +1 -1
  91. package/dist/table/ui.units.js +1 -247
  92. package/dist/table/ui.units.js.map +1 -1
  93. package/dist/utils/dayjs-config.js +1 -11
  94. package/dist/utils/dayjs-config.js.map +1 -1
  95. package/dist/utils/helpers.js +1 -198
  96. package/dist/utils/helpers.js.map +1 -1
  97. package/dist/utils/json-object.js +1 -37
  98. package/dist/utils/json-object.js.map +1 -1
  99. package/dist/utils/query-param.js +1 -171
  100. package/dist/utils/query-param.js.map +1 -1
  101. package/package.json +2 -1
@@ -1,211 +1,2 @@
1
- import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, objectSpread2 as _objectSpread2, classCallCheck as _classCallCheck, callSuper as _callSuper } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { Component } from 'react';
4
- import { LocalizationProvider } from '@mui/x-date-pickers';
5
- import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
6
- import { styled, Box, TextField, Typography, Switch } from '@mui/material';
7
- import { getErrorMessage } from './helper.js';
8
- import { mergeObjects as _mergeObjects, tryParseIntRequired } from '../utils/helpers.js';
9
- import '../utils/query-param.js';
10
- import '../utils/dayjs-config.js';
11
- import dayjs from 'dayjs';
12
-
13
- var defaultFormatString = 'MM-DD-YYYY';
14
- var dateExpiredClasses = {
15
- root: 'DateExpired-root',
16
- control: 'DateExpired-control',
17
- label: 'DateExpired-label',
18
- labelSwitch: 'DateExpired-labelSwitch',
19
- input: 'DateExpired-input',
20
- "switch": 'DateExpired-switch'
21
- };
22
- function CreateDateExpired(params) {
23
- var DateExpired = /*#__PURE__*/function (_Component) {
24
- function DateExpired(props) {
25
- var _this;
26
- _classCallCheck(this, DateExpired);
27
- _this = _callSuper(this, DateExpired, [props]);
28
- _defineProperty(_this, "defaultNumberOfDays", 30);
29
- _defineProperty(_this, "getNumberOfDays", function () {
30
- if (_this.slots.type === 'number') {
31
- return tryParseIntRequired(_this.defaulValue, _this.defaultNumberOfDays);
32
- } else {
33
- return _this.getDaysUntilDate(_this.defaulValue, _this.defaultNumberOfDays);
34
- }
35
- });
36
- //#endregion
37
- _defineProperty(_this, "mapTextFieldProps", function () {
38
- var _this$props = _this.props,
39
- messageErrors = _this$props.messageErrors,
40
- name = _this$props.name,
41
- onBlur = _this$props.onBlur;
42
- var disabled = _this.props.disabled || !_this.state.switchChecked;
43
- var obj = {
44
- fullWidth: true,
45
- className: dateExpiredClasses.input,
46
- label: jsxs("span", {
47
- className: dateExpiredClasses.label,
48
- children: ["Expiry date", _this.state.switchChecked && jsx("b", {
49
- children: _this.getOffsetDate(_this.state.numberOfDays)
50
- })]
51
- }),
52
- variant: 'outlined',
53
- type: 'number',
54
- disabled: disabled,
55
- value: _this.state.switchChecked ? _this.state.numberOfDays : 0,
56
- onChange: _this.handleChange
57
- };
58
- if (!!name) {
59
- obj.onBlur = function () {
60
- return onBlur && onBlur(name);
61
- };
62
- var temp = getErrorMessage(messageErrors, name);
63
- if (temp.error) {
64
- var _temp$message;
65
- obj.error = Boolean(temp.error);
66
- obj.helperText = (_temp$message = temp.message) !== null && _temp$message !== void 0 ? _temp$message : '';
67
- }
68
- }
69
- return _mergeObjects({}, obj, _this.slots.textFieldProps);
70
- });
71
- _defineProperty(_this, "handleChange", function (e) {
72
- var numberOfDays = e.target.value != '' ? parseInt(e.target.value) : 0;
73
- _this.setState({
74
- numberOfDays: numberOfDays
75
- });
76
- });
77
- _defineProperty(_this, "getOffsetDate", function (num) {
78
- var formatString = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFormatString;
79
- return dayjs().add(num, 'day').format(formatString);
80
- });
81
- _defineProperty(_this, "getDaysUntilDate", function (value) {
82
- var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
83
- try {
84
- if (!value) return defaultValue;
85
- var target = dayjs(value);
86
- var today = dayjs();
87
- var diff = target.diff(today, 'day', true);
88
- return Math.round(diff);
89
- } catch (_unused) {
90
- return defaultValue;
91
- }
92
- });
93
- _this.state = {
94
- numberOfDays: _this.getNumberOfDays(),
95
- switchChecked: _this.slots.switchChecked
96
- };
97
- _this.id = new Date().getTime().toString();
98
- return _this;
99
- }
100
- _inherits(DateExpired, _Component);
101
- return _createClass(DateExpired, [{
102
- key: "slots",
103
- get: function get() {
104
- var _this$props$slots, _ref2;
105
- var _ref = (_this$props$slots = this.props.slots) !== null && _this$props$slots !== void 0 ? _this$props$slots : {},
106
- switchChecked = _ref.switchChecked,
107
- switchCheckedGetter = _ref.switchCheckedGetter;
108
- var obj = _mergeObjects(params, this.props.slots);
109
- var check = (_ref2 = this.defaulValue ? !!this.defaulValue : switchChecked) !== null && _ref2 !== void 0 ? _ref2 : true;
110
- if (switchCheckedGetter) check = switchCheckedGetter(this.defaulValue, this.props.data);
111
- return _objectSpread2(_objectSpread2({}, obj), {}, {
112
- switchChecked: check
113
- });
114
- }
115
- }, {
116
- key: "defaulValue",
117
- get: function get() {
118
- var _this$props$defaultVa, _data$name;
119
- var _this$props2 = this.props,
120
- data = _this$props2.data,
121
- name = _this$props2.name;
122
- return (_this$props$defaultVa = this.props.defaultValue) !== null && _this$props$defaultVa !== void 0 ? _this$props$defaultVa : !!data && !!name ? (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.toString() : undefined;
123
- }
124
- }, {
125
- key: "defaultValueInput",
126
- get: function get() {
127
- if (this.slots.type === 'number') {
128
- return this.state.numberOfDays;
129
- } else {
130
- return this.getOffsetDate(this.state.numberOfDays, 'YYYY-MM-DDTHH:mm:ss.sssZ');
131
- }
132
- }
133
- }, {
134
- key: "render",
135
- value:
136
- //#region Render
137
- function render() {
138
- var _this$props$name,
139
- _this2 = this;
140
- return jsx(LocalizationProvider, {
141
- dateAdapter: AdapterDayjs,
142
- children: jsxs(Wrap, {
143
- className: dateExpiredClasses.root,
144
- children: [jsx("input", {
145
- type: 'text',
146
- hidden: true,
147
- name: (_this$props$name = this.props.name) === null || _this$props$name === void 0 ? void 0 : _this$props$name.toString(),
148
- defaultValue: this.defaultValueInput
149
- }, this.defaultValueInput), jsx(TextField, _objectSpread2({}, this.mapTextFieldProps())), jsxs("div", {
150
- className: dateExpiredClasses.control,
151
- children: [jsx(Typography, _objectSpread2(_objectSpread2({
152
- variant: 'caption',
153
- className: dateExpiredClasses.labelSwitch
154
- }, {
155
- component: 'label',
156
- htmlFor: this.id
157
- }), {}, {
158
- sx: {
159
- color: this.state.switchChecked ? 'success.main' : '#767676'
160
- },
161
- children: this.state.switchChecked ? 'Use Expiration Date' : 'No Expiration'
162
- })), jsx(Switch, {
163
- id: this.id,
164
- size: 'small',
165
- color: 'success',
166
- checked: this.state.switchChecked,
167
- onChange: function onChange(_, checked) {
168
- return _this2.setState({
169
- switchChecked: checked
170
- });
171
- }
172
- })]
173
- })]
174
- })
175
- });
176
- }
177
- }]);
178
- }(Component);
179
- return DateExpired;
180
- }
181
- var Wrap = styled(Box)(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
182
- display: 'flex',
183
- alignItems: 'center',
184
- gap: '10px',
185
- position: 'relative'
186
- }, ".".concat(dateExpiredClasses["switch"]), {
187
- margin: 0,
188
- flex: '0 0 auto'
189
- }), ".".concat(dateExpiredClasses.label), {
190
- b: {
191
- color: '#1976d2',
192
- marginLeft: '8px'
193
- }
194
- }), ".".concat(dateExpiredClasses.labelSwitch), {
195
- fontWeight: 600,
196
- cursor: 'pointer'
197
- }), ".".concat(dateExpiredClasses.control), {
198
- position: 'absolute',
199
- top: 0,
200
- right: 0,
201
- height: '100%',
202
- display: 'flex',
203
- alignItems: 'center'
204
- }), ".".concat(dateExpiredClasses.input), {
205
- '.MuiInputBase-input': {
206
- paddingRight: '160px'
207
- }
208
- }));
209
-
210
- export { CreateDateExpired as default };
1
+ import{defineProperty as e,inherits as t,createClass as a,objectSpread2 as r,classCallCheck as s,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n,jsxs as l}from"react/jsx-runtime";import{Component as o}from"react";import{LocalizationProvider as u}from"@mui/x-date-pickers";import{AdapterDayjs as d}from"@mui/x-date-pickers/AdapterDayjs";import{styled as c,Box as p,TextField as h,Typography as f,Switch as m}from"@mui/material";import{getErrorMessage as g}from"./helper.js";import{mergeObjects as v,tryParseIntRequired as y}from"../utils/helpers.js";import"../utils/query-param.js";import"../utils/dayjs-config.js";import D from"dayjs";var b="DateExpired-root",x="DateExpired-control",k="DateExpired-label",C="DateExpired-labelSwitch",w="DateExpired-input",O="DateExpired-switch";function j(c){var p=function(){function p(t){var a;return s(this,p),a=i(this,p,[t]),e(a,"defaultNumberOfDays",30),e(a,"getNumberOfDays",(function(){return"number"===a.slots.type?y(a.defaulValue,a.defaultNumberOfDays):a.getDaysUntilDate(a.defaulValue,a.defaultNumberOfDays)})),e(a,"mapTextFieldProps",(function(){var e=a.props,t=e.messageErrors,r=e.name,s=e.onBlur,i=a.props.disabled||!a.state.switchChecked,o={fullWidth:!0,className:w,label:l("span",{className:k,children:["Expiry date",a.state.switchChecked&&n("b",{children:a.getOffsetDate(a.state.numberOfDays)})]}),variant:"outlined",type:"number",disabled:i,value:a.state.switchChecked?a.state.numberOfDays:0,onChange:a.handleChange};if(r){o.onBlur=function(){return s&&s(r)};var u,d=g(t,r);if(d.error)o.error=Boolean(d.error),o.helperText=null!==(u=d.message)&&void 0!==u?u:""}return v({},o,a.slots.textFieldProps)})),e(a,"handleChange",(function(e){var t=""!=e.target.value?parseInt(e.target.value):0;a.setState({numberOfDays:t})})),e(a,"getOffsetDate",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"MM-DD-YYYY";return D().add(e,"day").format(t)})),e(a,"getDaysUntilDate",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;try{if(!e)return t;var a=D(e),r=D(),s=a.diff(r,"day",!0);return Math.round(s)}catch(e){return t}})),a.state={numberOfDays:a.getNumberOfDays(),switchChecked:a.slots.switchChecked},a.id=(new Date).getTime().toString(),a}return t(p,o),a(p,[{key:"slots",get:function(){var e,t,a=null!==(e=this.props.slots)&&void 0!==e?e:{},s=a.switchChecked,i=a.switchCheckedGetter,n=v(c,this.props.slots),l=null===(t=this.defaulValue?!!this.defaulValue:s)||void 0===t||t;return i&&(l=i(this.defaulValue,this.props.data)),r(r({},n),{},{switchChecked:l})}},{key:"defaulValue",get:function(){var e,t,a=this.props,r=a.data,s=a.name;return null!==(e=this.props.defaultValue)&&void 0!==e?e:r&&s?null===(t=r[s])||void 0===t?void 0:t.toString():void 0}},{key:"defaultValueInput",get:function(){return"number"===this.slots.type?this.state.numberOfDays:this.getOffsetDate(this.state.numberOfDays,"YYYY-MM-DDTHH:mm:ss.sssZ")}},{key:"render",value:function(){var e,t=this;return n(u,{dateAdapter:d,children:l(N,{className:b,children:[n("input",{type:"text",hidden:!0,name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),defaultValue:this.defaultValueInput},this.defaultValueInput),n(h,r({},this.mapTextFieldProps())),l("div",{className:x,children:[n(f,r(r({variant:"caption",className:C},{component:"label",htmlFor:this.id}),{},{sx:{color:this.state.switchChecked?"success.main":"#767676"},children:this.state.switchChecked?"Use Expiration Date":"No Expiration"})),n(m,{id:this.id,size:"small",color:"success",checked:this.state.switchChecked,onChange:function(e,a){return t.setState({switchChecked:a})}})]})]})})}}])}();return p}var N=c(p)(e(e(e(e(e({display:"flex",alignItems:"center",gap:"10px",position:"relative"},".".concat(O),{margin:0,flex:"0 0 auto"}),".".concat(k),{b:{color:"#1976d2",marginLeft:"8px"}}),".".concat(C),{fontWeight:600,cursor:"pointer"}),".".concat(x),{position:"absolute",top:0,right:0,height:"100%",display:"flex",alignItems:"center"}),".".concat(w),{".MuiInputBase-input":{paddingRight:"160px"}}));export{j as default};
211
2
  //# sourceMappingURL=create.date-expired.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.date-expired.js","sources":["../../src/form/create.date-expired.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { LocalizationProvider } from '@mui/x-date-pickers'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { Switch, Typography, TextField, styled, Box, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { dayjsCustom, mergeObjects, tryParseIntRequired } from '../utils'\r\n\r\nconst defaultFormatString = 'MM-DD-YYYY'\r\n\r\nconst dateExpiredClasses = {\r\n root: 'DateExpired-root',\r\n control: 'DateExpired-control',\r\n label: 'DateExpired-label',\r\n labelSwitch: 'DateExpired-labelSwitch',\r\n input: 'DateExpired-input',\r\n switch: 'DateExpired-switch'\r\n}\r\n\r\nexport interface IDateExpiredSlots<T> {\r\n /** @default string */\r\n type?: 'number' | 'string'\r\n textFieldProps?: Partial<TextFieldProps>\r\n switchChecked?: boolean\r\n switchCheckedGetter?: (value: any, model?: Partial<T>) => boolean\r\n}\r\n\r\nexport interface IDateExpiredProps<T> extends IFormInputBase<T> {\r\n slots?: IDateExpiredSlots<T>\r\n}\r\n\r\nexport interface IDateExpiredState {\r\n numberOfDays: number\r\n switchChecked: boolean\r\n}\r\n\r\nfunction CreateDateExpired<T>(params?: IDateExpiredSlots<T>): React.ComponentType<IDateExpiredProps<T>> {\r\n class DateExpired extends Component<IDateExpiredProps<T>, IDateExpiredState> {\r\n defaultNumberOfDays: number = 30\r\n private id\r\n constructor(props: IDateExpiredProps<T>) {\r\n super(props)\r\n this.state = {\r\n numberOfDays: this.getNumberOfDays(),\r\n switchChecked: this.slots.switchChecked\r\n }\r\n this.id = new Date().getTime().toString()\r\n }\r\n\r\n get slots(): IDateExpiredSlots<T> & { switchChecked: boolean } {\r\n const { switchChecked, switchCheckedGetter } = this.props.slots ?? {}\r\n const obj = mergeObjects(params, this.props.slots)\r\n let check = (this.defaulValue ? !!this.defaulValue : switchChecked) ?? true\r\n if (switchCheckedGetter) check = switchCheckedGetter(this.defaulValue, this.props.data)\r\n return { ...obj, switchChecked: check }\r\n }\r\n\r\n get defaulValue(): string {\r\n const { data, name } = this.props\r\n return this.props.defaultValue ?? (!!data && !!name ? data[name]?.toString() : undefined)\r\n }\r\n\r\n get defaultValueInput(): string | number {\r\n if (this.slots.type === 'number') {\r\n return this.state.numberOfDays\r\n } else {\r\n return this.getOffsetDate(this.state.numberOfDays, 'YYYY-MM-DDTHH:mm:ss.sssZ')\r\n }\r\n }\r\n\r\n getNumberOfDays = (): number => {\r\n if (this.slots.type === 'number') {\r\n return tryParseIntRequired(this.defaulValue, this.defaultNumberOfDays)\r\n } else {\r\n return this.getDaysUntilDate(this.defaulValue, this.defaultNumberOfDays)\r\n }\r\n }\r\n\r\n //#region Render\r\n render() {\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterDayjs}>\r\n <Wrap className={dateExpiredClasses.root}>\r\n <input key={this.defaultValueInput} type='text' hidden name={this.props.name?.toString()} defaultValue={this.defaultValueInput} />\r\n <TextField {...this.mapTextFieldProps()} />\r\n <div className={dateExpiredClasses.control}>\r\n <Typography\r\n variant='caption'\r\n className={dateExpiredClasses.labelSwitch}\r\n {...{ component: 'label', htmlFor: this.id }}\r\n sx={{ color: this.state.switchChecked ? 'success.main' : '#767676' }}\r\n >\r\n {this.state.switchChecked ? 'Use Expiration Date' : 'No Expiration'}\r\n </Typography>\r\n <Switch\r\n id={this.id}\r\n size='small'\r\n color='success'\r\n checked={this.state.switchChecked}\r\n onChange={(_, checked) => this.setState({ switchChecked: checked })}\r\n />\r\n </div>\r\n </Wrap>\r\n </LocalizationProvider>\r\n )\r\n }\r\n //#endregion\r\n\r\n mapTextFieldProps = (): TextFieldProps => {\r\n const { messageErrors, name, onBlur } = this.props\r\n const disabled = this.props.disabled || !this.state.switchChecked\r\n const obj: TextFieldProps = {\r\n fullWidth: true,\r\n className: dateExpiredClasses.input,\r\n label: (\r\n <span className={dateExpiredClasses.label}>\r\n Expiry date\r\n {this.state.switchChecked && <b>{this.getOffsetDate(this.state.numberOfDays)}</b>}\r\n </span>\r\n ),\r\n variant: 'outlined',\r\n type: 'number',\r\n disabled: disabled,\r\n value: this.state.switchChecked ? this.state.numberOfDays : 0,\r\n onChange: this.handleChange\r\n }\r\n if (!!name) {\r\n obj.onBlur = () => onBlur && onBlur(name)\r\n const temp = getErrorMessage(messageErrors, name)\r\n if (temp.error) {\r\n obj.error = Boolean(temp.error)\r\n obj.helperText = temp.message ?? ''\r\n }\r\n }\r\n return mergeObjects<TextFieldProps>({}, obj, this.slots.textFieldProps)\r\n }\r\n\r\n handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\r\n const numberOfDays: number = e.target.value != '' ? parseInt(e.target.value) : 0\r\n this.setState({ numberOfDays })\r\n }\r\n\r\n getOffsetDate = (num: number, formatString = defaultFormatString): string => {\r\n return dayjsCustom().add(num, 'day').format(formatString)\r\n }\r\n\r\n getDaysUntilDate = (value?: string, defaultValue = 0): number => {\r\n try {\r\n if (!value) return defaultValue\r\n const target = dayjsCustom(value)\r\n const today = dayjsCustom()\r\n const diff = target.diff(today, 'day', true)\r\n return Math.round(diff)\r\n } catch {\r\n return defaultValue\r\n }\r\n }\r\n }\r\n return DateExpired\r\n}\r\nexport default CreateDateExpired\r\n\r\nconst Wrap = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '10px',\r\n position: 'relative',\r\n [`.${dateExpiredClasses.switch}`]: {\r\n margin: 0,\r\n flex: '0 0 auto'\r\n },\r\n [`.${dateExpiredClasses.label}`]: {\r\n b: {\r\n color: '#1976d2',\r\n marginLeft: '8px'\r\n }\r\n },\r\n [`.${dateExpiredClasses.labelSwitch}`]: {\r\n fontWeight: 600,\r\n cursor: 'pointer'\r\n },\r\n [`.${dateExpiredClasses.control}`]: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n height: '100%',\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n [`.${dateExpiredClasses.input}`]: {\r\n '.MuiInputBase-input': {\r\n paddingRight: '160px'\r\n }\r\n }\r\n})\r\n"],"names":["defaultFormatString","dateExpiredClasses","root","control","label","labelSwitch","input","CreateDateExpired","params","DateExpired","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","slots","type","tryParseIntRequired","defaulValue","defaultNumberOfDays","getDaysUntilDate","_this$props","messageErrors","name","onBlur","disabled","state","switchChecked","obj","fullWidth","className","_jsxs","children","_jsx","getOffsetDate","numberOfDays","variant","value","onChange","handleChange","temp","getErrorMessage","error","_temp$message","Boolean","helperText","message","mergeObjects","textFieldProps","e","target","parseInt","setState","num","formatString","arguments","length","undefined","dayjsCustom","add","format","defaultValue","today","diff","Math","round","_unused","getNumberOfDays","id","Date","getTime","toString","_inherits","_createClass","key","get","_this$props$slots","_ref2","_ref","switchCheckedGetter","check","data","_objectSpread","_this$props$defaultVa","_data$name","_this$props2","render","_this$props$name","_this2","LocalizationProvider","dateAdapter","AdapterDayjs","Wrap","hidden","defaultValueInput","TextField","mapTextFieldProps","Typography","component","htmlFor","sx","color","Switch","size","checked","_","Component","styled","Box","display","alignItems","gap","position","concat","margin","flex","b","marginLeft","fontWeight","cursor","top","right","height","paddingRight"],"mappings":"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"}
1
+ {"version":3,"file":"create.date-expired.js","sources":["../../src/form/create.date-expired.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { LocalizationProvider } from '@mui/x-date-pickers'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { Switch, Typography, TextField, styled, Box, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { dayjsCustom, mergeObjects, tryParseIntRequired } from '../utils'\r\n\r\nconst defaultFormatString = 'MM-DD-YYYY'\r\n\r\nconst dateExpiredClasses = {\r\n root: 'DateExpired-root',\r\n control: 'DateExpired-control',\r\n label: 'DateExpired-label',\r\n labelSwitch: 'DateExpired-labelSwitch',\r\n input: 'DateExpired-input',\r\n switch: 'DateExpired-switch'\r\n}\r\n\r\nexport interface IDateExpiredSlots<T> {\r\n /** @default string */\r\n type?: 'number' | 'string'\r\n textFieldProps?: Partial<TextFieldProps>\r\n switchChecked?: boolean\r\n switchCheckedGetter?: (value: any, model?: Partial<T>) => boolean\r\n}\r\n\r\nexport interface IDateExpiredProps<T> extends IFormInputBase<T> {\r\n slots?: IDateExpiredSlots<T>\r\n}\r\n\r\nexport interface IDateExpiredState {\r\n numberOfDays: number\r\n switchChecked: boolean\r\n}\r\n\r\nfunction CreateDateExpired<T>(params?: IDateExpiredSlots<T>): React.ComponentType<IDateExpiredProps<T>> {\r\n class DateExpired extends Component<IDateExpiredProps<T>, IDateExpiredState> {\r\n defaultNumberOfDays: number = 30\r\n private id\r\n constructor(props: IDateExpiredProps<T>) {\r\n super(props)\r\n this.state = {\r\n numberOfDays: this.getNumberOfDays(),\r\n switchChecked: this.slots.switchChecked\r\n }\r\n this.id = new Date().getTime().toString()\r\n }\r\n\r\n get slots(): IDateExpiredSlots<T> & { switchChecked: boolean } {\r\n const { switchChecked, switchCheckedGetter } = this.props.slots ?? {}\r\n const obj = mergeObjects(params, this.props.slots)\r\n let check = (this.defaulValue ? !!this.defaulValue : switchChecked) ?? true\r\n if (switchCheckedGetter) check = switchCheckedGetter(this.defaulValue, this.props.data)\r\n return { ...obj, switchChecked: check }\r\n }\r\n\r\n get defaulValue(): string {\r\n const { data, name } = this.props\r\n return this.props.defaultValue ?? (!!data && !!name ? data[name]?.toString() : undefined)\r\n }\r\n\r\n get defaultValueInput(): string | number {\r\n if (this.slots.type === 'number') {\r\n return this.state.numberOfDays\r\n } else {\r\n return this.getOffsetDate(this.state.numberOfDays, 'YYYY-MM-DDTHH:mm:ss.sssZ')\r\n }\r\n }\r\n\r\n getNumberOfDays = (): number => {\r\n if (this.slots.type === 'number') {\r\n return tryParseIntRequired(this.defaulValue, this.defaultNumberOfDays)\r\n } else {\r\n return this.getDaysUntilDate(this.defaulValue, this.defaultNumberOfDays)\r\n }\r\n }\r\n\r\n //#region Render\r\n render() {\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterDayjs}>\r\n <Wrap className={dateExpiredClasses.root}>\r\n <input key={this.defaultValueInput} type='text' hidden name={this.props.name?.toString()} defaultValue={this.defaultValueInput} />\r\n <TextField {...this.mapTextFieldProps()} />\r\n <div className={dateExpiredClasses.control}>\r\n <Typography\r\n variant='caption'\r\n className={dateExpiredClasses.labelSwitch}\r\n {...{ component: 'label', htmlFor: this.id }}\r\n sx={{ color: this.state.switchChecked ? 'success.main' : '#767676' }}\r\n >\r\n {this.state.switchChecked ? 'Use Expiration Date' : 'No Expiration'}\r\n </Typography>\r\n <Switch\r\n id={this.id}\r\n size='small'\r\n color='success'\r\n checked={this.state.switchChecked}\r\n onChange={(_, checked) => this.setState({ switchChecked: checked })}\r\n />\r\n </div>\r\n </Wrap>\r\n </LocalizationProvider>\r\n )\r\n }\r\n //#endregion\r\n\r\n mapTextFieldProps = (): TextFieldProps => {\r\n const { messageErrors, name, onBlur } = this.props\r\n const disabled = this.props.disabled || !this.state.switchChecked\r\n const obj: TextFieldProps = {\r\n fullWidth: true,\r\n className: dateExpiredClasses.input,\r\n label: (\r\n <span className={dateExpiredClasses.label}>\r\n Expiry date\r\n {this.state.switchChecked && <b>{this.getOffsetDate(this.state.numberOfDays)}</b>}\r\n </span>\r\n ),\r\n variant: 'outlined',\r\n type: 'number',\r\n disabled: disabled,\r\n value: this.state.switchChecked ? this.state.numberOfDays : 0,\r\n onChange: this.handleChange\r\n }\r\n if (!!name) {\r\n obj.onBlur = () => onBlur && onBlur(name)\r\n const temp = getErrorMessage(messageErrors, name)\r\n if (temp.error) {\r\n obj.error = Boolean(temp.error)\r\n obj.helperText = temp.message ?? ''\r\n }\r\n }\r\n return mergeObjects<TextFieldProps>({}, obj, this.slots.textFieldProps)\r\n }\r\n\r\n handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\r\n const numberOfDays: number = e.target.value != '' ? parseInt(e.target.value) : 0\r\n this.setState({ numberOfDays })\r\n }\r\n\r\n getOffsetDate = (num: number, formatString = defaultFormatString): string => {\r\n return dayjsCustom().add(num, 'day').format(formatString)\r\n }\r\n\r\n getDaysUntilDate = (value?: string, defaultValue = 0): number => {\r\n try {\r\n if (!value) return defaultValue\r\n const target = dayjsCustom(value)\r\n const today = dayjsCustom()\r\n const diff = target.diff(today, 'day', true)\r\n return Math.round(diff)\r\n } catch {\r\n return defaultValue\r\n }\r\n }\r\n }\r\n return DateExpired\r\n}\r\nexport default CreateDateExpired\r\n\r\nconst Wrap = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '10px',\r\n position: 'relative',\r\n [`.${dateExpiredClasses.switch}`]: {\r\n margin: 0,\r\n flex: '0 0 auto'\r\n },\r\n [`.${dateExpiredClasses.label}`]: {\r\n b: {\r\n color: '#1976d2',\r\n marginLeft: '8px'\r\n }\r\n },\r\n [`.${dateExpiredClasses.labelSwitch}`]: {\r\n fontWeight: 600,\r\n cursor: 'pointer'\r\n },\r\n [`.${dateExpiredClasses.control}`]: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n height: '100%',\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n [`.${dateExpiredClasses.input}`]: {\r\n '.MuiInputBase-input': {\r\n paddingRight: '160px'\r\n }\r\n }\r\n})\r\n"],"names":["dateExpiredClasses","CreateDateExpired","params","DateExpired","props","_this","_classCallCheck","_callSuper","_defineProperty","slots","type","tryParseIntRequired","defaulValue","defaultNumberOfDays","getDaysUntilDate","_this$props","messageErrors","name","onBlur","disabled","state","switchChecked","obj","fullWidth","className","label","_jsxs","children","_jsx","getOffsetDate","numberOfDays","variant","value","onChange","handleChange","_temp$message","temp","getErrorMessage","error","Boolean","helperText","message","mergeObjects","textFieldProps","e","target","parseInt","setState","num","formatString","arguments","length","undefined","dayjsCustom","add","format","defaultValue","today","diff","Math","round","_unused","getNumberOfDays","id","Date","getTime","toString","_inherits","Component","_createClass","key","get","_this$props$slots","_ref2","_ref","this","switchCheckedGetter","check","data","_objectSpread","_this$props$defaultVa","_data$name","_this$props2","_this$props$name","_this2","LocalizationProvider","dateAdapter","AdapterDayjs","Wrap","hidden","defaultValueInput","TextField","mapTextFieldProps","Typography","component","htmlFor","sx","color","Switch","size","checked","_","styled","Box","display","alignItems","gap","position","concat","margin","flex","b","marginLeft","fontWeight","cursor","top","right","height","paddingRight"],"mappings":"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"}
@@ -1,128 +1,2 @@
1
- import { inherits as _inherits, createClass as _createClass, objectSpread2 as _objectSpread2, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { Component } from 'react';
4
- import { styled } from '@mui/material';
5
- import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
6
- import { DatePicker, LocalizationProvider } from '@mui/x-date-pickers';
7
- import { getErrorMessage } from './helper.js';
8
- import { mergeObjects as _mergeObjects } from '../utils/helpers.js';
9
- import '../utils/query-param.js';
10
- import '../utils/dayjs-config.js';
11
- import dayjs from 'dayjs';
12
-
13
- var formatDefault = 'MM/DD/YYYY';
14
- var CreateDatePicker = function CreateDatePicker(params) {
15
- var DatePicker = /*#__PURE__*/function (_Component) {
16
- function DatePicker(props) {
17
- var _this$mergeSlots;
18
- var _this;
19
- _classCallCheck(this, DatePicker);
20
- _this = _callSuper(this, DatePicker, [props]);
21
- _defineProperty(_this, "_cachedSlots", {});
22
- _defineProperty(_this, "getDatePickerProps", function () {
23
- var _params$minDateOffset, _this$props$label, _this$props$name, _this$props$format, _this$slots;
24
- var delayInDays = (_params$minDateOffset = params === null || params === void 0 ? void 0 : params.minDateOffset) !== null && _params$minDateOffset !== void 0 ? _params$minDateOffset : 0;
25
- var minDate = delayInDays > 0 ? dayjs().add(delayInDays, 'day').startOf('day') : params === null || params === void 0 ? void 0 : params.minDate;
26
- var label = (_this$props$label = _this.props.label) !== null && _this$props$label !== void 0 ? _this$props$label : (_this$props$name = _this.props.name) === null || _this$props$name === void 0 ? void 0 : _this$props$name.toString();
27
- var format = (_this$props$format = _this.props.format) !== null && _this$props$format !== void 0 ? _this$props$format : formatDefault;
28
- var eMessage = getErrorMessage(_this.props.messageErrors, _this.props.name);
29
- var obj = {
30
- label: label,
31
- format: format,
32
- views: ['day', 'month', 'year'],
33
- value: _this.state.value,
34
- onChange: _this.handleChange,
35
- disabled: _this.props.disabled,
36
- minDate: minDate,
37
- slotProps: {
38
- textField: {
39
- onBlur: _this.handleBlur,
40
- fullWidth: true,
41
- error: eMessage.error,
42
- helperText: eMessage.message,
43
- variant: 'outlined'
44
- }
45
- }
46
- };
47
- return _mergeObjects(obj, params === null || params === void 0 ? void 0 : params.datePickerProps, (_this$slots = _this.slots) === null || _this$slots === void 0 ? void 0 : _this$slots.datePickerProps);
48
- });
49
- _defineProperty(_this, "refInput", null);
50
- _defineProperty(_this, "mergeSlots", function (currentSlots) {
51
- return _mergeObjects({}, params, currentSlots);
52
- });
53
- _defineProperty(_this, "handleBlur", function () {
54
- if (!_this.props.name) return;
55
- _this.props.onBlur && _this.props.onBlur(_this.props.name);
56
- });
57
- _defineProperty(_this, "handleChange", function (newValue) {
58
- _this.setState({
59
- value: newValue
60
- });
61
- if (_this.refInput) {
62
- _this.refInput.value = newValue && !isNaN(newValue.toDate().getTime()) ? newValue.toDate().toISOString() : '';
63
- }
64
- setTimeout(_this.handleBlur, 50);
65
- });
66
- _defineProperty(_this, "getDefaultValue", function () {
67
- try {
68
- var _ref, _this$props$defaultVa;
69
- if (!_this.props.defaultValue && !_this.slots.defaultValue && _this.slots.minDateOffset) return dayjs().add(1, 'day').startOf('day');
70
- if (!_this.props.defaultValue && _this.slots.minDate) return _this.slots.minDate;
71
- var _this$props = _this.props,
72
- data = _this$props.data,
73
- name = _this$props.name;
74
- var dValue = (_ref = (_this$props$defaultVa = _this.props.defaultValue) !== null && _this$props$defaultVa !== void 0 ? _this$props$defaultVa : _this.slots.defaultValue) !== null && _ref !== void 0 ? _ref : name ? data === null || data === void 0 ? void 0 : data[name] : '';
75
- return dValue ? dayjs(dValue.toString()) : dayjs();
76
- } catch (_unused) {
77
- return dayjs();
78
- }
79
- });
80
- _this._cachedSlots = (_this$mergeSlots = _this.mergeSlots(props.slots)) !== null && _this$mergeSlots !== void 0 ? _this$mergeSlots : {};
81
- _this.state = {
82
- value: _this.getDefaultValue()
83
- };
84
- return _this;
85
- }
86
- _inherits(DatePicker, _Component);
87
- return _createClass(DatePicker, [{
88
- key: "slots",
89
- get: function get() {
90
- return this._cachedSlots;
91
- }
92
- }, {
93
- key: "componentDidUpdate",
94
- value: function componentDidUpdate(prevProps) {
95
- if (prevProps.slots !== this.props.slots) {
96
- this._cachedSlots = this.mergeSlots(this.props.slots);
97
- }
98
- }
99
- }, {
100
- key: "render",
101
- value: function render() {
102
- var _this$props$name2,
103
- _this$getDefaultValue,
104
- _this2 = this;
105
- return jsxs(LocalizationProvider, {
106
- dateAdapter: AdapterDayjs,
107
- children: [jsx(CustomDatePicker, _objectSpread2({}, this.getDatePickerProps())), jsx("input", {
108
- hidden: true,
109
- name: (_this$props$name2 = this.props.name) === null || _this$props$name2 === void 0 ? void 0 : _this$props$name2.toString(),
110
- defaultValue: (_this$getDefaultValue = this.getDefaultValue()) === null || _this$getDefaultValue === void 0 ? void 0 : _this$getDefaultValue.toDate().toISOString(),
111
- ref: function ref(_ref2) {
112
- return _this2.refInput = _ref2;
113
- }
114
- })]
115
- });
116
- }
117
- }]);
118
- }(Component);
119
- return DatePicker;
120
- };
121
- var CustomDatePicker = styled(DatePicker)({
122
- '& .MuiInputBase-root::before, & .MuiInputBase-root::after': {
123
- borderBottom: 'none !important'
124
- }
125
- });
126
-
127
- export { CreateDatePicker as default };
1
+ import{inherits as t,createClass as e,objectSpread2 as r,classCallCheck as o,callSuper as a,defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as s,jsx as n}from"react/jsx-runtime";import{Component as i}from"react";import{styled as u}from"@mui/material";import{AdapterDayjs as p}from"@mui/x-date-pickers/AdapterDayjs";import{DatePicker as d,LocalizationProvider as m}from"@mui/x-date-pickers";import{getErrorMessage as f}from"./helper.js";import{mergeObjects as c}from"../utils/helpers.js";import"../utils/query-param.js";import"../utils/dayjs-config.js";import v from"dayjs";var h=function(u){return function(){function d(t){var e,r;return o(this,d),r=a(this,d,[t]),l(r,"_cachedSlots",{}),l(r,"getDatePickerProps",(function(){var t,e,o,a,l,s=null!==(t=null==u?void 0:u.minDateOffset)&&void 0!==t?t:0,n=s>0?v().add(s,"day").startOf("day"):null==u?void 0:u.minDate,i=null!==(e=r.props.label)&&void 0!==e?e:null===(o=r.props.name)||void 0===o?void 0:o.toString(),p=null!==(a=r.props.format)&&void 0!==a?a:"MM/DD/YYYY",d=f(r.props.messageErrors,r.props.name),m={label:i,format:p,views:["day","month","year"],value:r.state.value,onChange:r.handleChange,disabled:r.props.disabled,minDate:n,slotProps:{textField:{onBlur:r.handleBlur,fullWidth:!0,error:d.error,helperText:d.message,variant:"outlined"}}};return c(m,null==u?void 0:u.datePickerProps,null===(l=r.slots)||void 0===l?void 0:l.datePickerProps)})),l(r,"refInput",null),l(r,"mergeSlots",(function(t){return c({},u,t)})),l(r,"handleBlur",(function(){r.props.name&&r.props.onBlur&&r.props.onBlur(r.props.name)})),l(r,"handleChange",(function(t){r.setState({value:t}),r.refInput&&(r.refInput.value=t&&!isNaN(t.toDate().getTime())?t.toDate().toISOString():""),setTimeout(r.handleBlur,50)})),l(r,"getDefaultValue",(function(){try{var t,e;if(!r.props.defaultValue&&!r.slots.defaultValue&&r.slots.minDateOffset)return v().add(1,"day").startOf("day");if(!r.props.defaultValue&&r.slots.minDate)return r.slots.minDate;var o=r.props,a=o.data,l=o.name,s=null!==(t=null!==(e=r.props.defaultValue)&&void 0!==e?e:r.slots.defaultValue)&&void 0!==t?t:l?null==a?void 0:a[l]:"";return s?v(s.toString()):v()}catch(t){return v()}})),r._cachedSlots=null!==(e=r.mergeSlots(t.slots))&&void 0!==e?e:{},r.state={value:r.getDefaultValue()},r}return t(d,i),e(d,[{key:"slots",get:function(){return this._cachedSlots}},{key:"componentDidUpdate",value:function(t){t.slots!==this.props.slots&&(this._cachedSlots=this.mergeSlots(this.props.slots))}},{key:"render",value:function(){var t,e,o=this;return s(m,{dateAdapter:p,children:[n(g,r({},this.getDatePickerProps())),n("input",{hidden:!0,name:null===(t=this.props.name)||void 0===t?void 0:t.toString(),defaultValue:null===(e=this.getDefaultValue())||void 0===e?void 0:e.toDate().toISOString(),ref:function(t){return o.refInput=t}})]})}}])}()},g=u(d)({"& .MuiInputBase-root::before, & .MuiInputBase-root::after":{borderBottom:"none !important"}});export{h as default};
128
2
  //# sourceMappingURL=create.date-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.date-picker.js","sources":["../../src/form/create.date-picker.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Dayjs } from 'dayjs'\r\nimport { styled } from '@mui/material'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { DatePicker as MUIDatePicker, LocalizationProvider, DatePickerProps } from '@mui/x-date-pickers'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { dayjsCustom, mergeObjects } from '../utils'\r\n\r\nconst formatDefault = 'MM/DD/YYYY'\r\n\r\nexport interface IDatePickerSlots {\r\n defaultValue?: string\r\n minDate?: Dayjs\r\n minDateOffset?: number\r\n datePickerProps?: DatePickerProps<Dayjs>\r\n}\r\n\r\nexport interface IDatePickerProps<T> extends IFormInputBase<T> {\r\n format?: string\r\n slots?: Omit<IDatePickerSlots, 'defaultValue'>\r\n}\r\n\r\nexport interface IDatePickerState {\r\n value: Dayjs | null\r\n}\r\n\r\nconst CreateDatePicker = function <T extends Object>(params?: IDatePickerSlots): ComponentType<IDatePickerProps<T>> {\r\n class DatePicker extends Component<IDatePickerProps<T>, IDatePickerState> {\r\n private _cachedSlots: IDatePickerSlots = {}\r\n constructor(props: IDatePickerProps<T>) {\r\n super(props)\r\n this._cachedSlots = this.mergeSlots(props.slots) ?? {}\r\n this.state = { value: this.getDefaultValue() }\r\n }\r\n\r\n get slots() {\r\n return this._cachedSlots\r\n }\r\n\r\n componentDidUpdate(prevProps: IDatePickerProps<T>) {\r\n if (prevProps.slots !== this.props.slots) {\r\n this._cachedSlots = this.mergeSlots(this.props.slots)\r\n }\r\n }\r\n\r\n getDatePickerProps = (): DatePickerProps<Dayjs> => {\r\n const delayInDays = params?.minDateOffset ?? 0\r\n const minDate = delayInDays > 0 ? dayjsCustom().add(delayInDays, 'day').startOf('day') : params?.minDate\r\n const label = this.props.label ?? this.props.name?.toString()\r\n const format = this.props.format ?? formatDefault\r\n const eMessage = getErrorMessage<T>(this.props.messageErrors, this.props.name)\r\n const obj: DatePickerProps<Dayjs> = {\r\n label,\r\n format,\r\n views: ['day', 'month', 'year'],\r\n value: this.state.value,\r\n onChange: this.handleChange,\r\n disabled: this.props.disabled,\r\n minDate,\r\n slotProps: {\r\n textField: { onBlur: this.handleBlur, fullWidth: true, error: eMessage.error, helperText: eMessage.message, variant: 'outlined' }\r\n }\r\n }\r\n return mergeObjects(obj, params?.datePickerProps, this.slots?.datePickerProps)\r\n }\r\n\r\n refInput: HTMLInputElement | null = null\r\n render() {\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterDayjs}>\r\n <CustomDatePicker {...this.getDatePickerProps()} />\r\n <input\r\n hidden\r\n name={this.props.name?.toString()}\r\n defaultValue={this.getDefaultValue()?.toDate().toISOString()}\r\n ref={(ref) => (this.refInput = ref)}\r\n />\r\n </LocalizationProvider>\r\n )\r\n }\r\n\r\n private mergeSlots = (currentSlots?: IDatePickerSlots): IDatePickerSlots => {\r\n return mergeObjects<IDatePickerSlots>({}, params, currentSlots)\r\n }\r\n\r\n handleBlur = () => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n handleChange = (newValue: Dayjs | null) => {\r\n this.setState({ value: newValue })\r\n if (this.refInput) {\r\n this.refInput.value = newValue && !isNaN(newValue.toDate().getTime()) ? newValue.toDate().toISOString() : ''\r\n }\r\n setTimeout(this.handleBlur, 50)\r\n }\r\n\r\n getDefaultValue = (): Dayjs => {\r\n try {\r\n if (!this.props.defaultValue && !this.slots.defaultValue && this.slots.minDateOffset) return dayjsCustom().add(1, 'day').startOf('day')\r\n if (!this.props.defaultValue && this.slots.minDate) return this.slots.minDate\r\n\r\n const { data, name } = this.props\r\n const dValue = this.props.defaultValue ?? this.slots.defaultValue ?? (name ? data?.[name] : '')\r\n return dValue ? dayjsCustom(dValue.toString()) : dayjsCustom()\r\n } catch {\r\n return dayjsCustom()\r\n }\r\n }\r\n }\r\n return DatePicker\r\n}\r\n\r\nexport default CreateDatePicker\r\n\r\nconst CustomDatePicker = styled(MUIDatePicker<Dayjs>)({\r\n '& .MuiInputBase-root::before, & .MuiInputBase-root::after': {\r\n borderBottom: 'none !important'\r\n }\r\n})\r\n"],"names":["formatDefault","CreateDatePicker","params","DatePicker","_Component","props","_this$mergeSlots","_this","_classCallCheck","_callSuper","_defineProperty","_params$minDateOffset","_this$props$label","_this$props$name","_this$props$format","_this$slots","delayInDays","minDateOffset","minDate","dayjsCustom","add","startOf","label","name","toString","format","eMessage","getErrorMessage","messageErrors","obj","views","value","state","onChange","handleChange","disabled","slotProps","textField","onBlur","handleBlur","fullWidth","error","helperText","message","variant","mergeObjects","datePickerProps","slots","currentSlots","newValue","setState","refInput","isNaN","toDate","getTime","toISOString","setTimeout","_ref","_this$props$defaultVa","defaultValue","_this$props","data","dValue","_unused","_cachedSlots","mergeSlots","getDefaultValue","_inherits","_createClass","key","get","componentDidUpdate","prevProps","render","_this$props$name2","_this$getDefaultValue","_this2","_jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","_jsx","CustomDatePicker","_objectSpread","getDatePickerProps","hidden","ref","Component","styled","MUIDatePicker","borderBottom"],"mappings":"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"}
1
+ {"version":3,"file":"create.date-picker.js","sources":["../../src/form/create.date-picker.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Dayjs } from 'dayjs'\r\nimport { styled } from '@mui/material'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { DatePicker as MUIDatePicker, LocalizationProvider, DatePickerProps } from '@mui/x-date-pickers'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\nimport { dayjsCustom, mergeObjects } from '../utils'\r\n\r\nconst formatDefault = 'MM/DD/YYYY'\r\n\r\nexport interface IDatePickerSlots {\r\n defaultValue?: string\r\n minDate?: Dayjs\r\n minDateOffset?: number\r\n datePickerProps?: DatePickerProps<Dayjs>\r\n}\r\n\r\nexport interface IDatePickerProps<T> extends IFormInputBase<T> {\r\n format?: string\r\n slots?: Omit<IDatePickerSlots, 'defaultValue'>\r\n}\r\n\r\nexport interface IDatePickerState {\r\n value: Dayjs | null\r\n}\r\n\r\nconst CreateDatePicker = function <T extends Object>(params?: IDatePickerSlots): ComponentType<IDatePickerProps<T>> {\r\n class DatePicker extends Component<IDatePickerProps<T>, IDatePickerState> {\r\n private _cachedSlots: IDatePickerSlots = {}\r\n constructor(props: IDatePickerProps<T>) {\r\n super(props)\r\n this._cachedSlots = this.mergeSlots(props.slots) ?? {}\r\n this.state = { value: this.getDefaultValue() }\r\n }\r\n\r\n get slots() {\r\n return this._cachedSlots\r\n }\r\n\r\n componentDidUpdate(prevProps: IDatePickerProps<T>) {\r\n if (prevProps.slots !== this.props.slots) {\r\n this._cachedSlots = this.mergeSlots(this.props.slots)\r\n }\r\n }\r\n\r\n getDatePickerProps = (): DatePickerProps<Dayjs> => {\r\n const delayInDays = params?.minDateOffset ?? 0\r\n const minDate = delayInDays > 0 ? dayjsCustom().add(delayInDays, 'day').startOf('day') : params?.minDate\r\n const label = this.props.label ?? this.props.name?.toString()\r\n const format = this.props.format ?? formatDefault\r\n const eMessage = getErrorMessage<T>(this.props.messageErrors, this.props.name)\r\n const obj: DatePickerProps<Dayjs> = {\r\n label,\r\n format,\r\n views: ['day', 'month', 'year'],\r\n value: this.state.value,\r\n onChange: this.handleChange,\r\n disabled: this.props.disabled,\r\n minDate,\r\n slotProps: {\r\n textField: { onBlur: this.handleBlur, fullWidth: true, error: eMessage.error, helperText: eMessage.message, variant: 'outlined' }\r\n }\r\n }\r\n return mergeObjects(obj, params?.datePickerProps, this.slots?.datePickerProps)\r\n }\r\n\r\n refInput: HTMLInputElement | null = null\r\n render() {\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterDayjs}>\r\n <CustomDatePicker {...this.getDatePickerProps()} />\r\n <input\r\n hidden\r\n name={this.props.name?.toString()}\r\n defaultValue={this.getDefaultValue()?.toDate().toISOString()}\r\n ref={(ref) => (this.refInput = ref)}\r\n />\r\n </LocalizationProvider>\r\n )\r\n }\r\n\r\n private mergeSlots = (currentSlots?: IDatePickerSlots): IDatePickerSlots => {\r\n return mergeObjects<IDatePickerSlots>({}, params, currentSlots)\r\n }\r\n\r\n handleBlur = () => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n handleChange = (newValue: Dayjs | null) => {\r\n this.setState({ value: newValue })\r\n if (this.refInput) {\r\n this.refInput.value = newValue && !isNaN(newValue.toDate().getTime()) ? newValue.toDate().toISOString() : ''\r\n }\r\n setTimeout(this.handleBlur, 50)\r\n }\r\n\r\n getDefaultValue = (): Dayjs => {\r\n try {\r\n if (!this.props.defaultValue && !this.slots.defaultValue && this.slots.minDateOffset) return dayjsCustom().add(1, 'day').startOf('day')\r\n if (!this.props.defaultValue && this.slots.minDate) return this.slots.minDate\r\n\r\n const { data, name } = this.props\r\n const dValue = this.props.defaultValue ?? this.slots.defaultValue ?? (name ? data?.[name] : '')\r\n return dValue ? dayjsCustom(dValue.toString()) : dayjsCustom()\r\n } catch {\r\n return dayjsCustom()\r\n }\r\n }\r\n }\r\n return DatePicker\r\n}\r\n\r\nexport default CreateDatePicker\r\n\r\nconst CustomDatePicker = styled(MUIDatePicker<Dayjs>)({\r\n '& .MuiInputBase-root::before, & .MuiInputBase-root::after': {\r\n borderBottom: 'none !important'\r\n }\r\n})\r\n"],"names":["CreateDatePicker","params","DatePicker","props","_this$mergeSlots","_this","_classCallCheck","_callSuper","_defineProperty","_params$minDateOffset","_this$props$label","_this$props$name","_this$props$format","_this$slots","delayInDays","minDateOffset","minDate","dayjsCustom","add","startOf","label","name","toString","format","eMessage","getErrorMessage","messageErrors","obj","views","value","state","onChange","handleChange","disabled","slotProps","textField","onBlur","handleBlur","fullWidth","error","helperText","message","variant","mergeObjects","datePickerProps","slots","currentSlots","newValue","setState","refInput","isNaN","toDate","getTime","toISOString","setTimeout","_ref","_this$props$defaultVa","defaultValue","_this$props","data","dValue","_unused","_cachedSlots","mergeSlots","getDefaultValue","_inherits","Component","_createClass","key","get","this","prevProps","_this$props$name2","_this$getDefaultValue","_this2","_jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","_jsx","CustomDatePicker","_objectSpread","getDatePickerProps","hidden","ref","styled","MUIDatePicker","borderBottom"],"mappings":"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"}
@@ -1,141 +1,2 @@
1
- import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx } from 'react/jsx-runtime';
3
- import React, { Component } from 'react';
4
- import { Box } from '@mui/material';
5
- import { convertFormDataToJson, SingleValidate, validateMerge, getErrorFromResponse } from './helper.js';
6
- import FormValidator, { SingleRuleValidate } from './validator.js';
7
-
8
- var CreateFormBase = function CreateFormBase(param) {
9
- var FormBaseContext = /*#__PURE__*/React.createContext({});
10
- var FormBase = /*#__PURE__*/function (_Component) {
11
- function FormBase(props) {
12
- var _this;
13
- _classCallCheck(this, FormBase);
14
- _this = _callSuper(this, FormBase, [props]);
15
- _defineProperty(_this, "refForm", null);
16
- _defineProperty(_this, "setError", function (keyName, message) {
17
- var error = _defineProperty({}, keyName, [{
18
- rule: SingleRuleValidate.Custom,
19
- message: message
20
- }]);
21
- _this.setState({
22
- messageErrors: Object.assign({}, _this.state.messageErrors, error)
23
- });
24
- });
25
- _defineProperty(_this, "clearErrorAll", function () {
26
- _this.setState({
27
- messageErrors: {}
28
- });
29
- });
30
- _defineProperty(_this, "onSubmit", /*#__PURE__*/function () {
31
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
32
- var formData, model, messageErrors;
33
- return _regeneratorRuntime().wrap(function _callee$(_context) {
34
- while (1) switch (_context.prev = _context.next) {
35
- case 0:
36
- e.preventDefault();
37
- formData = new FormData(e.currentTarget);
38
- model = convertFormDataToJson(formData);
39
- _this.setState({
40
- modelState: model
41
- });
42
- messageErrors = _this.validate.run(model);
43
- if (!messageErrors) {
44
- _context.next = 9;
45
- break;
46
- }
47
- _this.setState({
48
- messageErrors: messageErrors
49
- });
50
- if (!(Object.keys(messageErrors).length > 0)) {
51
- _context.next = 9;
52
- break;
53
- }
54
- return _context.abrupt("return");
55
- case 9:
56
- _context.next = 11;
57
- return _this.props.onSubmit(model, e)["catch"](function (error) {
58
- var messageError = getErrorFromResponse(error, model);
59
- _this.setState({
60
- messageErrors: _objectSpread2(_objectSpread2({}, _this.state.messageErrors), messageError || {})
61
- });
62
- });
63
- case 11:
64
- case "end":
65
- return _context.stop();
66
- }
67
- }, _callee);
68
- }));
69
- return function (_x) {
70
- return _ref.apply(this, arguments);
71
- };
72
- }());
73
- _defineProperty(_this, "onBlur", function (keyName) {
74
- if (!_this.refForm) return;
75
- var messageErrors = _this.state.messageErrors;
76
- var formData = new FormData(_this.refForm);
77
- var model = convertFormDataToJson(formData);
78
- _this.setState({
79
- modelState: model
80
- });
81
- var error = SingleValidate(keyName, model, messageErrors, _this.validate) || {};
82
- _this.setState({
83
- messageErrors: error
84
- });
85
- });
86
- _defineProperty(_this, "getValidate", function () {
87
- var defaultValidate = new FormValidator({});
88
- return validateMerge(defaultValidate, param === null || param === void 0 ? void 0 : param.validate, _this.props.validate);
89
- });
90
- _this.validate = _this.getValidate();
91
- _this.state = {
92
- messageErrors: {}
93
- };
94
- return _this;
95
- }
96
- _inherits(FormBase, _Component);
97
- return _createClass(FormBase, [{
98
- key: "render",
99
- value: function render() {
100
- var _this2 = this;
101
- var onBlur = this.onBlur,
102
- setError = this.setError,
103
- clearErrorAll = this.clearErrorAll;
104
- var _this$state = this.state,
105
- modelState = _this$state.modelState,
106
- messageErrors = _this$state.messageErrors;
107
- return jsx(Box, {
108
- component: 'form',
109
- sx: this.props.sx,
110
- ref: function ref(_ref2) {
111
- return _this2.refForm = _ref2;
112
- },
113
- onSubmit: this.onSubmit,
114
- children: jsx(FormBaseContext.Provider, {
115
- value: {
116
- setError: setError,
117
- onBlur: onBlur,
118
- clearErrorAll: clearErrorAll,
119
- modelState: modelState,
120
- messageErrors: messageErrors
121
- },
122
- children: this.props.children
123
- })
124
- });
125
- }
126
- }]);
127
- }(Component);
128
- return {
129
- Form: FormBase,
130
- Validator: param === null || param === void 0 ? void 0 : param.validate,
131
- Context: FormBaseContext,
132
- contextMapping: function contextMapping(params) {
133
- return jsx(FormBaseContext.Consumer, {
134
- children: params
135
- });
136
- }
137
- };
138
- };
139
-
140
- export { CreateFormBase as default };
1
+ import{inherits as r,createClass as e,classCallCheck as t,callSuper as a,defineProperty as s,asyncToGenerator as o,regeneratorRuntime as n,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l}from"react/jsx-runtime";import u,{Component as m}from"react";import{Box as c}from"@mui/material";import{convertFormDataToJson as f,SingleValidate as p,validateMerge as d,getErrorFromResponse as v}from"./helper.js";import h,{SingleRuleValidate as g}from"./validator.js";var E=function(E){var S=u.createContext({}),b=function(){function u(r){var e;return t(this,u),e=a(this,u,[r]),s(e,"refForm",null),s(e,"setError",(function(r,t){var a=s({},r,[{rule:g.Custom,message:t}]);e.setState({messageErrors:Object.assign({},e.state.messageErrors,a)})})),s(e,"clearErrorAll",(function(){e.setState({messageErrors:{}})})),s(e,"onSubmit",function(){var r=o(n().mark((function r(t){var a,s,o;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t.preventDefault(),a=new FormData(t.currentTarget),s=f(a),e.setState({modelState:s}),!(o=e.validate.run(s))){r.next=9;break}if(e.setState({messageErrors:o}),!(Object.keys(o).length>0)){r.next=9;break}return r.abrupt("return");case 9:return r.next=11,e.props.onSubmit(s,t).catch((function(r){var t=v(r,s);e.setState({messageErrors:i(i({},e.state.messageErrors),t||{})})}));case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()),s(e,"onBlur",(function(r){if(e.refForm){var t=e.state.messageErrors,a=new FormData(e.refForm),s=f(a);e.setState({modelState:s});var o=p(r,s,t,e.validate)||{};e.setState({messageErrors:o})}})),s(e,"getValidate",(function(){var r=new h({});return d(r,null==E?void 0:E.validate,e.props.validate)})),e.validate=e.getValidate(),e.state={messageErrors:{}},e}return r(u,m),e(u,[{key:"render",value:function(){var r=this,e=this.onBlur,t=this.setError,a=this.clearErrorAll,s=this.state,o=s.modelState,n=s.messageErrors;return l(c,{component:"form",sx:this.props.sx,ref:function(e){return r.refForm=e},onSubmit:this.onSubmit,children:l(S.Provider,{value:{setError:t,onBlur:e,clearErrorAll:a,modelState:o,messageErrors:n},children:this.props.children})})}}])}();return{Form:b,Validator:null==E?void 0:E.validate,Context:S,contextMapping:function(r){return l(S.Consumer,{children:r})}}};export{E as default};
141
2
  //# sourceMappingURL=create.form-base.js.map