dinocollab-core 1.0.3 → 1.0.5

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 (158) 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/create.multi-select-dropdown.js +2 -0
  20. package/dist/components/create.multi-select-dropdown.js.map +1 -0
  21. package/dist/components/help-tooltip.js +1 -103
  22. package/dist/components/help-tooltip.js.map +1 -1
  23. package/dist/components/image-with-fallback.js +1 -50
  24. package/dist/components/image-with-fallback.js.map +1 -1
  25. package/dist/components/text-editor.js +1 -117
  26. package/dist/components/text-editor.js.map +1 -1
  27. package/dist/components/text-editor.preview.js +1 -26
  28. package/dist/components/text-editor.preview.js.map +1 -1
  29. package/dist/filter-bar/base.js +2 -0
  30. package/dist/filter-bar/base.js.map +1 -0
  31. package/dist/filter-bar/create.filter-bar.js +2 -0
  32. package/dist/filter-bar/create.filter-bar.js.map +1 -0
  33. package/dist/filter-bar/create.filter-menu.js +2 -0
  34. package/dist/filter-bar/create.filter-menu.js.map +1 -0
  35. package/dist/filter-bar/create.filter-panel.js +2 -0
  36. package/dist/filter-bar/create.filter-panel.js.map +1 -0
  37. package/dist/filter-bar/create.filtered.js +2 -0
  38. package/dist/filter-bar/create.filtered.js.map +1 -0
  39. package/dist/filter-bar/create.sort-menu.js +2 -0
  40. package/dist/filter-bar/create.sort-menu.js.map +1 -0
  41. package/dist/filter-bar/demo.js +2 -0
  42. package/dist/filter-bar/demo.js.map +1 -0
  43. package/dist/filter-bar/types.js +2 -0
  44. package/dist/filter-bar/types.js.map +1 -0
  45. package/dist/filter-bar/ui.units.js +2 -0
  46. package/dist/filter-bar/ui.units.js.map +1 -0
  47. package/dist/form/create.autocomplete.chips.js +1 -227
  48. package/dist/form/create.autocomplete.chips.js.map +1 -1
  49. package/dist/form/create.date-expired.js +1 -210
  50. package/dist/form/create.date-expired.js.map +1 -1
  51. package/dist/form/create.date-picker.js +1 -127
  52. package/dist/form/create.date-picker.js.map +1 -1
  53. package/dist/form/create.form-base.js +1 -140
  54. package/dist/form/create.form-base.js.map +1 -1
  55. package/dist/form/create.form-comfirm.js +1 -130
  56. package/dist/form/create.form-comfirm.js.map +1 -1
  57. package/dist/form/create.form-grid-layout.js +1 -187
  58. package/dist/form/create.form-grid-layout.js.map +1 -1
  59. package/dist/form/create.form-grid-layout.units.js +1 -41
  60. package/dist/form/create.form-grid-layout.units.js.map +1 -1
  61. package/dist/form/create.input.file.js +1 -78
  62. package/dist/form/create.input.file.js.map +1 -1
  63. package/dist/form/create.input.js +1 -275
  64. package/dist/form/create.input.js.map +1 -1
  65. package/dist/form/create.select-simple.js +1 -113
  66. package/dist/form/create.select-simple.js.map +1 -1
  67. package/dist/form/create.select-with-api.js +1 -276
  68. package/dist/form/create.select-with-api.js.map +1 -1
  69. package/dist/form/create.text-editor.js +1 -180
  70. package/dist/form/create.text-editor.js.map +1 -1
  71. package/dist/form/dino-form.js +1 -40
  72. package/dist/form/dino-form.js.map +1 -1
  73. package/dist/form/helper.js +1 -156
  74. package/dist/form/helper.js.map +1 -1
  75. package/dist/form/modal-wrapper.js +1 -81
  76. package/dist/form/modal-wrapper.js.map +1 -1
  77. package/dist/form/validator.js +1 -189
  78. package/dist/form/validator.js.map +1 -1
  79. package/dist/hooks/index.js +1 -47
  80. package/dist/hooks/index.js.map +1 -1
  81. package/dist/index.js +1 -32
  82. package/dist/index.js.map +1 -1
  83. package/dist/redux/create.hoc-lazy.js +1 -70
  84. package/dist/redux/create.hoc-lazy.js.map +1 -1
  85. package/dist/redux/dino.js +1 -10
  86. package/dist/redux/dino.js.map +1 -1
  87. package/dist/redux/types.js +1 -8
  88. package/dist/redux/types.js.map +1 -1
  89. package/dist/redux/ui.error-page.js +1 -88
  90. package/dist/redux/ui.error-page.js.map +1 -1
  91. package/dist/redux/vector-404.webp.js +1 -3
  92. package/dist/redux/vector-404.webp.js.map +1 -1
  93. package/dist/table/context.js +1 -14
  94. package/dist/table/context.js.map +1 -1
  95. package/dist/table/create.action-row.js +1 -143
  96. package/dist/table/create.action-row.js.map +1 -1
  97. package/dist/table/create.table.js +1 -245
  98. package/dist/table/create.table.js.map +1 -1
  99. package/dist/table/custom.filter-operators.js +1 -88
  100. package/dist/table/custom.filter-operators.js.map +1 -1
  101. package/dist/table/dino.js +1 -135
  102. package/dist/table/dino.js.map +1 -1
  103. package/dist/table/helpers.js +1 -114
  104. package/dist/table/helpers.js.map +1 -1
  105. package/dist/table/model-filter.js +1 -22
  106. package/dist/table/model-filter.js.map +1 -1
  107. package/dist/table/toolbar-pannel.js +1 -142
  108. package/dist/table/toolbar-pannel.js.map +1 -1
  109. package/dist/table/ui.buttons.js +1 -66
  110. package/dist/table/ui.buttons.js.map +1 -1
  111. package/dist/table/ui.units.js +1 -247
  112. package/dist/table/ui.units.js.map +1 -1
  113. package/dist/table-grid/create.table-grid.js +2 -0
  114. package/dist/table-grid/create.table-grid.js.map +1 -0
  115. package/dist/table-grid/dino.js +2 -0
  116. package/dist/table-grid/dino.js.map +1 -0
  117. package/dist/table-grid/helpers.js +2 -0
  118. package/dist/table-grid/helpers.js.map +1 -0
  119. package/dist/table-grid/item-actions.js +2 -0
  120. package/dist/table-grid/item-actions.js.map +1 -0
  121. package/dist/table-grid/toolbar-pannel.js +2 -0
  122. package/dist/table-grid/toolbar-pannel.js.map +1 -0
  123. package/dist/types/{lab → components}/create.multi-select-dropdown.d.ts +5 -5
  124. package/dist/types/components/index.d.ts +2 -0
  125. package/dist/types/index.d.ts +1 -0
  126. package/dist/types/lab/{create.select-mul-with-api/index.d.ts → select-mul-with-api/create.select-mul-with-api.d.ts} +1 -1
  127. package/dist/types/lab/select-mul-with-api/index.d.ts +2 -0
  128. package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/types.d.ts +1 -1
  129. package/dist/types/{lab/table-grid → table-grid}/item-actions.d.ts +1 -1
  130. package/dist/types/{lab/table-grid → table-grid}/toolbar-pannel.d.ts +1 -1
  131. package/dist/types/{lab/table-grid → table-grid}/types.d.ts +1 -1
  132. package/dist/utils/dayjs-config.js +1 -11
  133. package/dist/utils/dayjs-config.js.map +1 -1
  134. package/dist/utils/helpers.js +1 -198
  135. package/dist/utils/helpers.js.map +1 -1
  136. package/dist/utils/json-object.js +1 -37
  137. package/dist/utils/json-object.js.map +1 -1
  138. package/dist/utils/query-param.js +1 -171
  139. package/dist/utils/query-param.js.map +1 -1
  140. package/package.json +3 -8
  141. package/dist/index.d.ts +0 -928
  142. /package/dist/types/{lab/filter-bar → filter-bar}/base.d.ts +0 -0
  143. /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-bar.d.ts +0 -0
  144. /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-menu.d.ts +0 -0
  145. /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-panel.d.ts +0 -0
  146. /package/dist/types/{lab/filter-bar → filter-bar}/create.filtered.d.ts +0 -0
  147. /package/dist/types/{lab/filter-bar → filter-bar}/create.sort-menu.d.ts +0 -0
  148. /package/dist/types/{lab/filter-bar → filter-bar}/demo.d.ts +0 -0
  149. /package/dist/types/{lab/filter-bar → filter-bar}/index.d.ts +0 -0
  150. /package/dist/types/{lab/filter-bar → filter-bar}/types.d.ts +0 -0
  151. /package/dist/types/{lab/filter-bar → filter-bar}/ui.units.d.ts +0 -0
  152. /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/table-custom.d.ts +0 -0
  153. /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/ui.units.d.ts +0 -0
  154. /package/dist/types/{lab/table-grid → table-grid}/create.table-grid.d.ts +0 -0
  155. /package/dist/types/{lab/table-grid → table-grid}/demo.d.ts +0 -0
  156. /package/dist/types/{lab/table-grid → table-grid}/dino.d.ts +0 -0
  157. /package/dist/types/{lab/table-grid → table-grid}/helpers.d.ts +0 -0
  158. /package/dist/types/{lab/table-grid → table-grid}/index.d.ts +0 -0
@@ -1,188 +1,2 @@
1
- import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, objectSpread2 as _objectSpread2, objectWithoutProperties as _objectWithoutProperties, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { Fragment, Component } from 'react';
4
- import { Grid } from '@mui/material';
5
- import '../api-context/alert-global.js';
6
- import '../api-context/drawer-global.js';
7
- import { MapGlobalModalContext } from '../api-context/global-modal.js';
8
- import { CreateFormBottomBar, ContentWrap } from './create.form-grid-layout.units.js';
9
- import CreateInput from './create.input.js';
10
- import CreateFormBase from './create.form-base.js';
11
-
12
- var _excluded = ["slots"];
13
- var CreateFormGridLayout = function CreateFormGridLayout(params) {
14
- var FormBaseInstance = CreateFormBase();
15
- var BottomBarInstance = CreateFormBottomBar();
16
- var InputBaseInstance = CreateInput({
17
- maxLength: 250
18
- });
19
- var FormGridLayout = /*#__PURE__*/function (_Component) {
20
- function FormGridLayout(props) {
21
- var _this;
22
- _classCallCheck(this, FormGridLayout);
23
- _this = _callSuper(this, FormGridLayout, [props]);
24
- _defineProperty(_this, "renderContent", function () {
25
- var _this$props;
26
- var slots = _this.props.slots;
27
- return jsxs(ContentWrap, _objectSpread2(_objectSpread2({}, (_this$props = _this.props) === null || _this$props === void 0 || (_this$props = _this$props.slots) === null || _this$props === void 0 ? void 0 : _this$props.contentProps), {}, {
28
- children: [(slots === null || slots === void 0 ? void 0 : slots.contentBefore) && (slots === null || slots === void 0 ? void 0 : slots.contentBefore), params === null || params === void 0 ? void 0 : params.contentBefore, jsx(Grid, {
29
- container: true,
30
- spacing: 2,
31
- children: params.configs.map(function (config, index) {
32
- var _this$configMerged$in;
33
- var visibility = (_this$configMerged$in = _this.configMerged.inputVisibility) !== null && _this$configMerged$in !== void 0 && _this$configMerged$in[config.key] ? true : undefined;
34
- if (visibility) return jsx(Fragment, {}, config.key.toString() + index);
35
- return jsx(Fragment, {
36
- children: jsx(Grid, _objectSpread2(_objectSpread2({
37
- item: true,
38
- xs: 12
39
- }, config.reponsives), {}, {
40
- children: _this.renderFormFieldElement(config)
41
- }))
42
- }, config.key.toString() + index);
43
- })
44
- }), params === null || params === void 0 ? void 0 : params.contentAfter, (slots === null || slots === void 0 ? void 0 : slots.contentAfter) && (slots === null || slots === void 0 ? void 0 : slots.contentAfter)]
45
- }));
46
- });
47
- _defineProperty(_this, "renderFormFieldElement", function (config) {
48
- var _config$inputElement, _otherProps$data$conf, _otherProps$data, _this$configMerged$in2;
49
- var _this$props2 = _this.props;
50
- _this$props2.slots;
51
- var otherProps = _objectWithoutProperties(_this$props2, _excluded);
52
- var ElementComponent = (_config$inputElement = config.inputElement) !== null && _config$inputElement !== void 0 ? _config$inputElement : InputBaseInstance;
53
- var dValue = (_otherProps$data$conf = (_otherProps$data = otherProps.data) === null || _otherProps$data === void 0 ? void 0 : _otherProps$data[config.key]) !== null && _otherProps$data$conf !== void 0 ? _otherProps$data$conf : config === null || config === void 0 ? void 0 : config.defaultValue;
54
- var disabled = (_this$configMerged$in2 = _this.configMerged.inputDisabled) !== null && _this$configMerged$in2 !== void 0 && _this$configMerged$in2[config.key] ? true : undefined;
55
- return FormBaseInstance.contextMapping(function (context) {
56
- return jsx(ElementComponent, {
57
- data: _this.props.data,
58
- onBlur: context.onBlur,
59
- messageErrors: context.messageErrors,
60
- name: config.key,
61
- label: config.label,
62
- placeholder: config.placeholder,
63
- disabled: disabled,
64
- defaultValue: dValue
65
- });
66
- });
67
- });
68
- _defineProperty(_this, "loading", function () {
69
- return _this.setState({
70
- loadding: true
71
- });
72
- });
73
- _defineProperty(_this, "unloading", function () {
74
- return _this.setState({
75
- loadding: false
76
- });
77
- });
78
- _defineProperty(_this, "onSubmit", /*#__PURE__*/function () {
79
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(value, close) {
80
- var _params$submitMapping;
81
- var slots, mapping, data, _this$abortController;
82
- return _regeneratorRuntime().wrap(function _callee$(_context) {
83
- while (1) switch (_context.prev = _context.next) {
84
- case 0:
85
- slots = _this.props.slots;
86
- mapping = (_params$submitMapping = params.submitMapping) !== null && _params$submitMapping !== void 0 ? _params$submitMapping : _this.submitMapping;
87
- data = mapping(value, _this.props.data);
88
- _context.prev = 3;
89
- _this.loading();
90
- (_this$abortController = _this.abortController) === null || _this$abortController === void 0 || _this$abortController.abort();
91
- _this.abortController = new AbortController();
92
- _context.next = 9;
93
- return _this.props.onSubmit(data, _this.abortController.signal);
94
- case 9:
95
- if (!(slots !== null && slots !== void 0 && slots.closeState) || slots.closeState.Success !== false) {
96
- close && close();
97
- _this.props.onClose && _this.props.onClose();
98
- }
99
- _context.next = 16;
100
- break;
101
- case 12:
102
- _context.prev = 12;
103
- _context.t0 = _context["catch"](3);
104
- if (slots !== null && slots !== void 0 && slots.closeState && slots.closeState.Fail === true) {
105
- close && close();
106
- _this.props.onClose && _this.props.onClose();
107
- }
108
- if (_this.props.onError) _this.props.onError(_context.t0);
109
- case 16:
110
- _context.prev = 16;
111
- _this.unloading();
112
- return _context.finish(16);
113
- case 19:
114
- case "end":
115
- return _context.stop();
116
- }
117
- }, _callee, null, [[3, 12, 16, 19]]);
118
- }));
119
- return function (_x, _x2) {
120
- return _ref.apply(this, arguments);
121
- };
122
- }());
123
- _defineProperty(_this, "submitMapping", function (value, oldValue) {
124
- return Object.assign({}, oldValue, value);
125
- });
126
- _defineProperty(_this, "getSxProps", function () {
127
- var isLoading = _this.state.loadding;
128
- return _objectSpread2(_objectSpread2({}, _this.props.sx), {}, {
129
- opacity: isLoading ? 0.7 : 1,
130
- pointerEvents: isLoading ? 'none' : 'auto'
131
- });
132
- });
133
- _this.state = {
134
- loadding: false
135
- };
136
- return _this;
137
- }
138
- _inherits(FormGridLayout, _Component);
139
- return _createClass(FormGridLayout, [{
140
- key: "configMerged",
141
- get: function get() {
142
- var _this$props$slots$inp, _this$props$slots, _this$props$slots$inp2, _this$props$slots2;
143
- return {
144
- inputVisibility: (_this$props$slots$inp = (_this$props$slots = this.props.slots) === null || _this$props$slots === void 0 ? void 0 : _this$props$slots.inputVisibility) !== null && _this$props$slots$inp !== void 0 ? _this$props$slots$inp : params.inputVisibility,
145
- inputDisabled: (_this$props$slots$inp2 = (_this$props$slots2 = this.props.slots) === null || _this$props$slots2 === void 0 ? void 0 : _this$props$slots2.inputDisabled) !== null && _this$props$slots$inp2 !== void 0 ? _this$props$slots$inp2 : params.inputDisabled
146
- };
147
- }
148
- }, {
149
- key: "render",
150
- value: function render() {
151
- var _ref2,
152
- _params$action,
153
- _this$props$slots3,
154
- _this2 = this;
155
- var BottomBar = (_ref2 = (_params$action = params === null || params === void 0 ? void 0 : params.action) !== null && _params$action !== void 0 ? _params$action : (_this$props$slots3 = this.props.slots) === null || _this$props$slots3 === void 0 ? void 0 : _this$props$slots3.action) !== null && _ref2 !== void 0 ? _ref2 : BottomBarInstance;
156
- return MapGlobalModalContext(function (_ref3) {
157
- var close = _ref3.close;
158
- return jsxs(FormBaseInstance.Form, {
159
- validate: params.validate,
160
- onSubmit: function onSubmit(v) {
161
- return _this2.onSubmit(v, close);
162
- },
163
- sx: _this2.getSxProps(),
164
- children: [_this2.renderContent(), FormBaseInstance.contextMapping(function (context) {
165
- var _this2$props$slots;
166
- return jsx(BottomBar, {
167
- data: _this2.props.data,
168
- onBlur: context.onBlur,
169
- messageErrors: context.messageErrors,
170
- before: (_this2$props$slots = _this2.props.slots) === null || _this2$props$slots === void 0 ? void 0 : _this2$props$slots.actionBefore
171
- });
172
- })]
173
- });
174
- });
175
- }
176
- }, {
177
- key: "componentWillUnmount",
178
- value: function componentWillUnmount() {
179
- var _this$abortController2;
180
- (_this$abortController2 = this.abortController) === null || _this$abortController2 === void 0 || _this$abortController2.abort();
181
- }
182
- }]);
183
- }(Component);
184
- return FormGridLayout;
185
- };
186
-
187
- export { CreateFormGridLayout as default };
1
+ import{inherits as o,createClass as t,classCallCheck as n,callSuper as r,defineProperty as e,objectSpread2 as i,objectWithoutProperties as l,asyncToGenerator as a,regeneratorRuntime as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as u,jsx as p}from"react/jsx-runtime";import{Fragment as d,Component as c}from"react";import{Grid as v}from"@mui/material";import"../api-context/alert-global.js";import"../api-context/drawer-global.js";import{MapGlobalModalContext as f}from"../api-context/global-modal.js";import{CreateFormBottomBar as m,ContentWrap as g}from"./create.form-grid-layout.units.js";import b from"./create.input.js";import h from"./create.form-base.js";var y=["slots"],x=function(x){var S=h(),C=m(),j=b({maxLength:250}),k=function(){function m(o){var t;return n(this,m),t=r(this,m,[o]),e(t,"renderContent",(function(){var o,n=t.props.slots;return u(g,i(i({},null===(o=t.props)||void 0===o||null===(o=o.slots)||void 0===o?void 0:o.contentProps),{},{children:[(null==n?void 0:n.contentBefore)&&(null==n?void 0:n.contentBefore),null==x?void 0:x.contentBefore,p(v,{container:!0,spacing:2,children:x.configs.map((function(o,n){var r,e=!(null===(r=t.configMerged.inputVisibility)||void 0===r||!r[o.key])||void 0;return p(d,e?{}:{children:p(v,i(i({item:!0,xs:12},o.reponsives),{},{children:t.renderFormFieldElement(o)}))},o.key.toString()+n)}))}),null==x?void 0:x.contentAfter,(null==n?void 0:n.contentAfter)&&(null==n?void 0:n.contentAfter)]}))})),e(t,"renderFormFieldElement",(function(o){var n,r,e,i,a=t.props;a.slots;var s=l(a,y),u=null!==(n=o.inputElement)&&void 0!==n?n:j,d=null!==(r=null===(e=s.data)||void 0===e?void 0:e[o.key])&&void 0!==r?r:null==o?void 0:o.defaultValue,c=!(null===(i=t.configMerged.inputDisabled)||void 0===i||!i[o.key])||void 0;return S.contextMapping((function(n){return p(u,{data:t.props.data,onBlur:n.onBlur,messageErrors:n.messageErrors,name:o.key,label:o.label,placeholder:o.placeholder,disabled:c,defaultValue:d})}))})),e(t,"loading",(function(){return t.setState({loadding:!0})})),e(t,"unloading",(function(){return t.setState({loadding:!1})})),e(t,"onSubmit",function(){var o=a(s().mark((function o(n,r){var e,i,l,a,u;return s().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return i=t.props.slots,l=null!==(e=x.submitMapping)&&void 0!==e?e:t.submitMapping,a=l(n,t.props.data),o.prev=3,t.loading(),null===(u=t.abortController)||void 0===u||u.abort(),t.abortController=new AbortController,o.next=9,t.props.onSubmit(a,t.abortController.signal);case 9:null!=i&&i.closeState&&!1===i.closeState.Success||(r&&r(),t.props.onClose&&t.props.onClose()),o.next=16;break;case 12:o.prev=12,o.t0=o.catch(3),null!=i&&i.closeState&&!0===i.closeState.Fail&&(r&&r(),t.props.onClose&&t.props.onClose()),t.props.onError&&t.props.onError(o.t0);case 16:return o.prev=16,t.unloading(),o.finish(16);case 19:case"end":return o.stop()}}),o,null,[[3,12,16,19]])})));return function(t,n){return o.apply(this,arguments)}}()),e(t,"submitMapping",(function(o,t){return Object.assign({},t,o)})),e(t,"getSxProps",(function(){var o=t.state.loadding;return i(i({},t.props.sx),{},{opacity:o?.7:1,pointerEvents:o?"none":"auto"})})),t.state={loadding:!1},t}return o(m,c),t(m,[{key:"configMerged",get:function(){var o,t,n,r;return{inputVisibility:null!==(o=null===(t=this.props.slots)||void 0===t?void 0:t.inputVisibility)&&void 0!==o?o:x.inputVisibility,inputDisabled:null!==(n=null===(r=this.props.slots)||void 0===r?void 0:r.inputDisabled)&&void 0!==n?n:x.inputDisabled}}},{key:"render",value:function(){var o,t,n,r=this,e=null!==(o=null!==(t=null==x?void 0:x.action)&&void 0!==t?t:null===(n=this.props.slots)||void 0===n?void 0:n.action)&&void 0!==o?o:C;return f((function(o){var t=o.close;return u(S.Form,{validate:x.validate,onSubmit:function(o){return r.onSubmit(o,t)},sx:r.getSxProps(),children:[r.renderContent(),S.contextMapping((function(o){var t;return p(e,{data:r.props.data,onBlur:o.onBlur,messageErrors:o.messageErrors,before:null===(t=r.props.slots)||void 0===t?void 0:t.actionBefore})}))]})}))}},{key:"componentWillUnmount",value:function(){var o;null===(o=this.abortController)||void 0===o||o.abort()}}])}();return k};export{x as default};
188
2
  //# sourceMappingURL=create.form-grid-layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.form-grid-layout.js","sources":["../../src/form/create.form-grid-layout.tsx"],"sourcesContent":["import React, { Component, ComponentType, Fragment } from 'react'\r\nimport { BoxProps, Grid, RegularBreakpoints, SxProps, Theme } from '@mui/material'\r\nimport { IFormBase, IFormInputBase } from './types'\r\nimport { MapGlobalModalContext } from '../api-context'\r\nimport { ContentWrap, CreateFormBottomBar } from './create.form-grid-layout.units'\r\nimport FormValidator from './validator'\r\nimport CreateInput from './create.input'\r\nimport CreateFormBase from './create.form-base'\r\n\r\nexport interface IFormGridLayoutConfig<T> {\r\n key: keyof T\r\n label?: string\r\n placeholder?: string\r\n reponsives?: RegularBreakpoints\r\n defaultValue?: any\r\n inputElement?: React.ComponentType<IFormInputBase<T>>\r\n}\r\n\r\nexport type SubmitMappingEvent<T> = (value: Partial<T>, oldValue?: T) => Partial<T>\r\n\r\nexport interface IFormGridLayoutSlots<T> {\r\n action?: React.ComponentType<IFormBase<T>>\r\n actionBefore?: JSX.Element\r\n contentBefore?: JSX.Element\r\n contentAfter?: JSX.Element\r\n inputVisibility?: Partial<Record<keyof T, boolean>>\r\n inputDisabled?: Partial<Record<keyof T, boolean>>\r\n closeState?: { Success?: boolean; Fail?: boolean }\r\n contentProps?: BoxProps\r\n}\r\n\r\nexport interface IFormGridLayoutParams<T> extends IFormGridLayoutSlots<T> {\r\n configs: IFormGridLayoutConfig<T>[]\r\n validate: FormValidator<Partial<T>>\r\n submitMapping?: SubmitMappingEvent<T>\r\n}\r\n\r\nexport interface IFormGridLayoutProps<T> {\r\n data?: T\r\n onSubmit: (value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n onError?: (error: any) => void\r\n onClose?: () => void\r\n sx?: SxProps<Theme>\r\n slots?: IFormGridLayoutSlots<T>\r\n}\r\n\r\nexport interface IFormGridLayoutState {\r\n loadding?: boolean\r\n}\r\n\r\nconst CreateFormGridLayout = function <T>(params: IFormGridLayoutParams<T>): ComponentType<IFormGridLayoutProps<T>> {\r\n const FormBaseInstance = CreateFormBase<T>()\r\n const BottomBarInstance = CreateFormBottomBar<T>()\r\n const InputBaseInstance = CreateInput<T>({ maxLength: 250 })\r\n\r\n class FormGridLayout extends Component<IFormGridLayoutProps<T>, IFormGridLayoutState> {\r\n private abortController?: AbortController\r\n constructor(props: IFormGridLayoutProps<T>) {\r\n super(props)\r\n this.state = { loadding: false }\r\n }\r\n\r\n get configMerged() {\r\n return {\r\n inputVisibility: this.props.slots?.inputVisibility ?? params.inputVisibility,\r\n inputDisabled: this.props.slots?.inputDisabled ?? params.inputDisabled\r\n }\r\n }\r\n\r\n render() {\r\n const BottomBar = params?.action ?? this.props.slots?.action ?? BottomBarInstance\r\n return MapGlobalModalContext(({ close }) => (\r\n <FormBaseInstance.Form validate={params.validate} onSubmit={(v) => this.onSubmit(v, close)} sx={this.getSxProps()}>\r\n {this.renderContent()}\r\n {FormBaseInstance.contextMapping((context) => (\r\n <BottomBar data={this.props.data} onBlur={context.onBlur} messageErrors={context.messageErrors} before={this.props.slots?.actionBefore} />\r\n ))}\r\n </FormBaseInstance.Form>\r\n ))\r\n }\r\n\r\n renderContent = () => {\r\n const { slots } = this.props\r\n return (\r\n <ContentWrap {...this.props?.slots?.contentProps}>\r\n {slots?.contentBefore && slots?.contentBefore}\r\n {params?.contentBefore}\r\n <Grid container spacing={2}>\r\n {params.configs.map((config, index) => {\r\n const visibility: boolean | undefined = this.configMerged.inputVisibility?.[config.key] ? true : undefined\r\n if (visibility) return <Fragment key={config.key.toString() + index} />\r\n return (\r\n <Fragment key={config.key.toString() + index}>\r\n <Grid item xs={12} {...config.reponsives}>\r\n {this.renderFormFieldElement(config)}\r\n </Grid>\r\n </Fragment>\r\n )\r\n })}\r\n </Grid>\r\n {params?.contentAfter}\r\n {slots?.contentAfter && slots?.contentAfter}\r\n </ContentWrap>\r\n )\r\n }\r\n\r\n renderFormFieldElement = (config: IFormGridLayoutConfig<T>) => {\r\n const { slots, ...otherProps } = this.props\r\n const ElementComponent = config.inputElement ?? InputBaseInstance\r\n const dValue = otherProps.data?.[config.key] ?? config?.defaultValue\r\n const disabled: boolean | undefined = this.configMerged.inputDisabled?.[config.key] ? true : undefined\r\n return FormBaseInstance.contextMapping((context) => (\r\n <ElementComponent\r\n data={this.props.data}\r\n onBlur={context.onBlur}\r\n messageErrors={context.messageErrors}\r\n name={config.key}\r\n label={config.label}\r\n placeholder={config.placeholder}\r\n disabled={disabled}\r\n defaultValue={dValue}\r\n />\r\n ))\r\n }\r\n\r\n loading = () => this.setState({ loadding: true })\r\n\r\n unloading = () => this.setState({ loadding: false })\r\n\r\n componentWillUnmount(): void {\r\n this.abortController?.abort()\r\n }\r\n\r\n onSubmit = async (value: Partial<T>, close?: () => void) => {\r\n const { slots } = this.props\r\n const mapping = params.submitMapping ?? this.submitMapping\r\n const data = mapping(value, this.props.data)\r\n try {\r\n this.loading()\r\n this.abortController?.abort()\r\n this.abortController = new AbortController()\r\n await this.props.onSubmit(data, this.abortController.signal)\r\n if (!slots?.closeState || slots.closeState.Success !== false) {\r\n close && close()\r\n this.props.onClose && this.props.onClose()\r\n }\r\n } catch (error) {\r\n if (slots?.closeState && slots.closeState.Fail === true) {\r\n close && close()\r\n this.props.onClose && this.props.onClose()\r\n }\r\n if (this.props.onError) this.props.onError(error)\r\n } finally {\r\n this.unloading()\r\n }\r\n }\r\n\r\n submitMapping: SubmitMappingEvent<T> = (value, oldValue) => {\r\n return Object.assign({}, oldValue, value)\r\n }\r\n\r\n getSxProps = (): SxProps<Theme> => {\r\n const isLoading = this.state.loadding\r\n return { ...this.props.sx, opacity: isLoading ? 0.7 : 1, pointerEvents: isLoading ? 'none' : 'auto' }\r\n }\r\n }\r\n return FormGridLayout\r\n}\r\n\r\nexport default CreateFormGridLayout\r\n"],"names":["CreateFormGridLayout","params","FormBaseInstance","CreateFormBase","BottomBarInstance","CreateFormBottomBar","InputBaseInstance","CreateInput","maxLength","FormGridLayout","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$props","slots","_jsxs","ContentWrap","_objectSpread","contentProps","children","contentBefore","_jsx","Grid","container","spacing","configs","map","config","index","_this$configMerged$in","visibility","configMerged","inputVisibility","key","undefined","Fragment","toString","item","xs","reponsives","renderFormFieldElement","contentAfter","_config$inputElement","_otherProps$data$conf","_otherProps$data","_this$configMerged$in2","_this$props2","otherProps","_objectWithoutProperties","_excluded","ElementComponent","inputElement","dValue","data","defaultValue","disabled","inputDisabled","contextMapping","context","onBlur","messageErrors","name","label","placeholder","setState","loadding","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","value","close","_params$submitMapping","mapping","_this$abortController","wrap","_callee$","_context","prev","next","submitMapping","loading","abortController","abort","AbortController","onSubmit","signal","closeState","Success","onClose","t0","Fail","onError","unloading","finish","stop","_x","_x2","apply","arguments","oldValue","Object","assign","isLoading","state","sx","opacity","pointerEvents","_inherits","_createClass","get","_this$props$slots$inp","_this$props$slots","_this$props$slots$inp2","_this$props$slots2","render","_ref2","_params$action","_this$props$slots3","_this2","BottomBar","action","MapGlobalModalContext","_ref3","Form","validate","v","getSxProps","renderContent","_this2$props$slots","before","actionBefore","componentWillUnmount","_this$abortController2","Component"],"mappings":"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"}
1
+ {"version":3,"file":"create.form-grid-layout.js","sources":["../../src/form/create.form-grid-layout.tsx"],"sourcesContent":["import React, { Component, ComponentType, Fragment } from 'react'\r\nimport { BoxProps, Grid, RegularBreakpoints, SxProps, Theme } from '@mui/material'\r\nimport { IFormBase, IFormInputBase } from './types'\r\nimport { MapGlobalModalContext } from '../api-context'\r\nimport { ContentWrap, CreateFormBottomBar } from './create.form-grid-layout.units'\r\nimport FormValidator from './validator'\r\nimport CreateInput from './create.input'\r\nimport CreateFormBase from './create.form-base'\r\n\r\nexport interface IFormGridLayoutConfig<T> {\r\n key: keyof T\r\n label?: string\r\n placeholder?: string\r\n reponsives?: RegularBreakpoints\r\n defaultValue?: any\r\n inputElement?: React.ComponentType<IFormInputBase<T>>\r\n}\r\n\r\nexport type SubmitMappingEvent<T> = (value: Partial<T>, oldValue?: T) => Partial<T>\r\n\r\nexport interface IFormGridLayoutSlots<T> {\r\n action?: React.ComponentType<IFormBase<T>>\r\n actionBefore?: JSX.Element\r\n contentBefore?: JSX.Element\r\n contentAfter?: JSX.Element\r\n inputVisibility?: Partial<Record<keyof T, boolean>>\r\n inputDisabled?: Partial<Record<keyof T, boolean>>\r\n closeState?: { Success?: boolean; Fail?: boolean }\r\n contentProps?: BoxProps\r\n}\r\n\r\nexport interface IFormGridLayoutParams<T> extends IFormGridLayoutSlots<T> {\r\n configs: IFormGridLayoutConfig<T>[]\r\n validate: FormValidator<Partial<T>>\r\n submitMapping?: SubmitMappingEvent<T>\r\n}\r\n\r\nexport interface IFormGridLayoutProps<T> {\r\n data?: T\r\n onSubmit: (value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n onError?: (error: any) => void\r\n onClose?: () => void\r\n sx?: SxProps<Theme>\r\n slots?: IFormGridLayoutSlots<T>\r\n}\r\n\r\nexport interface IFormGridLayoutState {\r\n loadding?: boolean\r\n}\r\n\r\nconst CreateFormGridLayout = function <T>(params: IFormGridLayoutParams<T>): ComponentType<IFormGridLayoutProps<T>> {\r\n const FormBaseInstance = CreateFormBase<T>()\r\n const BottomBarInstance = CreateFormBottomBar<T>()\r\n const InputBaseInstance = CreateInput<T>({ maxLength: 250 })\r\n\r\n class FormGridLayout extends Component<IFormGridLayoutProps<T>, IFormGridLayoutState> {\r\n private abortController?: AbortController\r\n constructor(props: IFormGridLayoutProps<T>) {\r\n super(props)\r\n this.state = { loadding: false }\r\n }\r\n\r\n get configMerged() {\r\n return {\r\n inputVisibility: this.props.slots?.inputVisibility ?? params.inputVisibility,\r\n inputDisabled: this.props.slots?.inputDisabled ?? params.inputDisabled\r\n }\r\n }\r\n\r\n render() {\r\n const BottomBar = params?.action ?? this.props.slots?.action ?? BottomBarInstance\r\n return MapGlobalModalContext(({ close }) => (\r\n <FormBaseInstance.Form validate={params.validate} onSubmit={(v) => this.onSubmit(v, close)} sx={this.getSxProps()}>\r\n {this.renderContent()}\r\n {FormBaseInstance.contextMapping((context) => (\r\n <BottomBar data={this.props.data} onBlur={context.onBlur} messageErrors={context.messageErrors} before={this.props.slots?.actionBefore} />\r\n ))}\r\n </FormBaseInstance.Form>\r\n ))\r\n }\r\n\r\n renderContent = () => {\r\n const { slots } = this.props\r\n return (\r\n <ContentWrap {...this.props?.slots?.contentProps}>\r\n {slots?.contentBefore && slots?.contentBefore}\r\n {params?.contentBefore}\r\n <Grid container spacing={2}>\r\n {params.configs.map((config, index) => {\r\n const visibility: boolean | undefined = this.configMerged.inputVisibility?.[config.key] ? true : undefined\r\n if (visibility) return <Fragment key={config.key.toString() + index} />\r\n return (\r\n <Fragment key={config.key.toString() + index}>\r\n <Grid item xs={12} {...config.reponsives}>\r\n {this.renderFormFieldElement(config)}\r\n </Grid>\r\n </Fragment>\r\n )\r\n })}\r\n </Grid>\r\n {params?.contentAfter}\r\n {slots?.contentAfter && slots?.contentAfter}\r\n </ContentWrap>\r\n )\r\n }\r\n\r\n renderFormFieldElement = (config: IFormGridLayoutConfig<T>) => {\r\n const { slots, ...otherProps } = this.props\r\n const ElementComponent = config.inputElement ?? InputBaseInstance\r\n const dValue = otherProps.data?.[config.key] ?? config?.defaultValue\r\n const disabled: boolean | undefined = this.configMerged.inputDisabled?.[config.key] ? true : undefined\r\n return FormBaseInstance.contextMapping((context) => (\r\n <ElementComponent\r\n data={this.props.data}\r\n onBlur={context.onBlur}\r\n messageErrors={context.messageErrors}\r\n name={config.key}\r\n label={config.label}\r\n placeholder={config.placeholder}\r\n disabled={disabled}\r\n defaultValue={dValue}\r\n />\r\n ))\r\n }\r\n\r\n loading = () => this.setState({ loadding: true })\r\n\r\n unloading = () => this.setState({ loadding: false })\r\n\r\n componentWillUnmount(): void {\r\n this.abortController?.abort()\r\n }\r\n\r\n onSubmit = async (value: Partial<T>, close?: () => void) => {\r\n const { slots } = this.props\r\n const mapping = params.submitMapping ?? this.submitMapping\r\n const data = mapping(value, this.props.data)\r\n try {\r\n this.loading()\r\n this.abortController?.abort()\r\n this.abortController = new AbortController()\r\n await this.props.onSubmit(data, this.abortController.signal)\r\n if (!slots?.closeState || slots.closeState.Success !== false) {\r\n close && close()\r\n this.props.onClose && this.props.onClose()\r\n }\r\n } catch (error) {\r\n if (slots?.closeState && slots.closeState.Fail === true) {\r\n close && close()\r\n this.props.onClose && this.props.onClose()\r\n }\r\n if (this.props.onError) this.props.onError(error)\r\n } finally {\r\n this.unloading()\r\n }\r\n }\r\n\r\n submitMapping: SubmitMappingEvent<T> = (value, oldValue) => {\r\n return Object.assign({}, oldValue, value)\r\n }\r\n\r\n getSxProps = (): SxProps<Theme> => {\r\n const isLoading = this.state.loadding\r\n return { ...this.props.sx, opacity: isLoading ? 0.7 : 1, pointerEvents: isLoading ? 'none' : 'auto' }\r\n }\r\n }\r\n return FormGridLayout\r\n}\r\n\r\nexport default CreateFormGridLayout\r\n"],"names":["CreateFormGridLayout","params","FormBaseInstance","CreateFormBase","BottomBarInstance","CreateFormBottomBar","InputBaseInstance","CreateInput","maxLength","FormGridLayout","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$props","slots","_jsxs","ContentWrap","_objectSpread","contentProps","children","contentBefore","_jsx","Grid","container","spacing","configs","map","config","index","_this$configMerged$in","visibility","configMerged","inputVisibility","key","undefined","Fragment","item","xs","reponsives","renderFormFieldElement","toString","contentAfter","_config$inputElement","_otherProps$data$conf","_otherProps$data","_this$configMerged$in2","_this$props2","otherProps","_objectWithoutProperties","_excluded","ElementComponent","inputElement","dValue","data","defaultValue","disabled","inputDisabled","contextMapping","context","onBlur","messageErrors","name","label","placeholder","setState","loadding","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","value","close","_params$submitMapping","mapping","_this$abortController","wrap","_context","prev","next","submitMapping","loading","abortController","abort","AbortController","onSubmit","signal","closeState","Success","onClose","t0","Fail","onError","unloading","finish","stop","_x","_x2","apply","this","arguments","oldValue","Object","assign","isLoading","state","sx","opacity","pointerEvents","_inherits","Component","_createClass","get","_this$props$slots$inp","_this$props$slots","_this$props$slots$inp2","_this$props$slots2","_ref2","_params$action","_this$props$slots3","_this2","BottomBar","action","MapGlobalModalContext","_ref3","Form","validate","v","getSxProps","renderContent","_this2$props$slots","before","actionBefore","_this$abortController2"],"mappings":"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"}
@@ -1,42 +1,2 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { styled, Box, colors, Button } from '@mui/material';
3
-
4
- var ContentWrap = styled(Box)({
5
- padding: '16px 12px 3px',
6
- maxHeight: "calc(100vh - ".concat(48 * 2 + 12 * 2, "px)"),
7
- overflowY: 'auto',
8
- overflowX: 'hidden'
9
- });
10
- function CreateFormBottomBar() {
11
- var FormBottomBar = function FormBottomBar(props) {
12
- return jsxs(FormBottomBarWrap, {
13
- className: 'bottom-bar',
14
- children: [jsx(Box, {
15
- sx: {
16
- flex: 1
17
- },
18
- children: props.before
19
- }), jsx(Button, {
20
- variant: 'contained',
21
- type: 'submit',
22
- size: 'small',
23
- children: "Submit"
24
- })]
25
- });
26
- };
27
- return FormBottomBar;
28
- }
29
- var FormBottomBarWrap = styled(Box)({
30
- display: 'flex',
31
- alignItems: 'center',
32
- padding: '0 12px',
33
- boxShadow: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px',
34
- position: 'sticky',
35
- bottom: 0,
36
- backgroundColor: colors.common.white,
37
- zIndex: 1,
38
- height: '48px'
39
- });
40
-
41
- export { ContentWrap, CreateFormBottomBar, FormBottomBarWrap };
1
+ import{jsxs as o,jsx as t}from"react/jsx-runtime";import{styled as e,Box as r,colors as i,Button as a}from"@mui/material";var n=e(r)({padding:"16px 12px 3px",maxHeight:"calc(100vh - ".concat(120,"px)"),overflowY:"auto",overflowX:"hidden"});function p(){return function(e){return o(x,{className:"bottom-bar",children:[t(r,{sx:{flex:1},children:e.before}),t(a,{variant:"contained",type:"submit",size:"small",children:"Submit"})]})}}var x=e(r)({display:"flex",alignItems:"center",padding:"0 12px",boxShadow:"rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px",position:"sticky",bottom:0,backgroundColor:i.common.white,zIndex:1,height:"48px"});export{n as ContentWrap,p as CreateFormBottomBar,x as FormBottomBarWrap};
42
2
  //# sourceMappingURL=create.form-grid-layout.units.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.form-grid-layout.units.js","sources":["../../src/form/create.form-grid-layout.units.tsx"],"sourcesContent":["import React, { FC, ReactNode } from 'react'\r\nimport { Box, Button, colors, styled } from '@mui/material'\r\nimport { IFormBase } from './types'\r\n\r\nexport const ContentWrap = styled(Box)({\r\n padding: '16px 12px 3px',\r\n maxHeight: `calc(100vh - ${48 * 2 + 12 * 2}px)`,\r\n overflowY: 'auto',\r\n overflowX: 'hidden'\r\n})\r\n\r\nexport interface IFormBottomBarProps<T> extends IFormBase<T> {\r\n before?: ReactNode\r\n}\r\n\r\nexport function CreateFormBottomBar<T>() {\r\n const FormBottomBar: FC<IFormBottomBarProps<T>> = (props) => (\r\n <FormBottomBarWrap className='bottom-bar'>\r\n <Box sx={{ flex: 1 }}>{props.before}</Box>\r\n <Button variant='contained' type='submit' size='small'>\r\n Submit\r\n </Button>\r\n </FormBottomBarWrap>\r\n )\r\n return FormBottomBar\r\n}\r\n\r\nexport const FormBottomBarWrap = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 12px',\r\n boxShadow: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px',\r\n position: 'sticky',\r\n bottom: 0,\r\n backgroundColor: colors.common.white,\r\n zIndex: 1,\r\n height: '48px'\r\n})\r\n"],"names":["ContentWrap","styled","Box","padding","maxHeight","concat","overflowY","overflowX","CreateFormBottomBar","FormBottomBar","props","_jsxs","FormBottomBarWrap","className","_jsx","sx","flex","children","before","Button","variant","type","size","display","alignItems","boxShadow","position","bottom","backgroundColor","colors","common","white","zIndex","height"],"mappings":";;;IAIaA,WAAW,GAAGC,MAAM,CAACC,GAAG,CAAC,CAAC;AACrCC,EAAAA,OAAO,EAAE,eAAe;EACxBC,SAAS,EAAA,eAAA,CAAAC,MAAA,CAAkB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAK,KAAA,CAAA;AAC/CC,EAAAA,SAAS,EAAE,MAAM;AACjBC,EAAAA,SAAS,EAAE;AACZ,CAAA;SAMeC,mBAAmBA,GAAA;AACjC,EAAA,IAAMC,aAAa,GAA+B,SAA5CA,aAAaA,CAAgCC,KAAK,EAAA;IAAA,OACtDC,IAAA,CAACC,iBAAiB,EAAA;AAACC,MAAAA,SAAS,EAAC,YAAY;iBACvCC,GAAC,CAAAZ,GAAG;AAACa,QAAAA,EAAE,EAAE;AAAEC,UAAAA,IAAI,EAAE;SAAG;QAAGC,QAAA,EAAAP,KAAK,CAACQ;AAAM,OAAA,CAAO,EAC1CJ,GAAC,CAAAK,MAAM,EAAC;AAAAC,QAAAA,OAAO,EAAC,WAAW;AAACC,QAAAA,IAAI,EAAC,QAAQ;AAACC,QAAAA,IAAI,EAAC,OAAO;AAAAL,QAAAA,QAAA,EAAA;AAAA,OAAA,CAE7C;AACS,KAAA,CAAA;GACrB;AACD,EAAA,OAAOR,aAAa;AACtB;IAEaG,iBAAiB,GAAGX,MAAM,CAACC,GAAG,CAAC,CAAC;AAC3CqB,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,UAAU,EAAE,QAAQ;AACpBrB,EAAAA,OAAO,EAAE,QAAQ;AACjBsB,EAAAA,SAAS,EAAE,uFAAuF;AAClGC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,eAAe,EAAEC,MAAM,CAACC,MAAM,CAACC,KAAK;AACpCC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,MAAM,EAAE;AACT,CAAA;;;;"}
1
+ {"version":3,"file":"create.form-grid-layout.units.js","sources":["../../src/form/create.form-grid-layout.units.tsx"],"sourcesContent":["import React, { FC, ReactNode } from 'react'\r\nimport { Box, Button, colors, styled } from '@mui/material'\r\nimport { IFormBase } from './types'\r\n\r\nexport const ContentWrap = styled(Box)({\r\n padding: '16px 12px 3px',\r\n maxHeight: `calc(100vh - ${48 * 2 + 12 * 2}px)`,\r\n overflowY: 'auto',\r\n overflowX: 'hidden'\r\n})\r\n\r\nexport interface IFormBottomBarProps<T> extends IFormBase<T> {\r\n before?: ReactNode\r\n}\r\n\r\nexport function CreateFormBottomBar<T>() {\r\n const FormBottomBar: FC<IFormBottomBarProps<T>> = (props) => (\r\n <FormBottomBarWrap className='bottom-bar'>\r\n <Box sx={{ flex: 1 }}>{props.before}</Box>\r\n <Button variant='contained' type='submit' size='small'>\r\n Submit\r\n </Button>\r\n </FormBottomBarWrap>\r\n )\r\n return FormBottomBar\r\n}\r\n\r\nexport const FormBottomBarWrap = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 12px',\r\n boxShadow: 'rgba(145, 158, 171, 0.2) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 12px 24px -4px',\r\n position: 'sticky',\r\n bottom: 0,\r\n backgroundColor: colors.common.white,\r\n zIndex: 1,\r\n height: '48px'\r\n})\r\n"],"names":["ContentWrap","styled","Box","padding","maxHeight","concat","overflowY","overflowX","CreateFormBottomBar","props","_jsxs","FormBottomBarWrap","className","_jsx","sx","flex","children","before","Button","variant","type","size","display","alignItems","boxShadow","position","bottom","backgroundColor","colors","common","white","zIndex","height"],"mappings":"8HAIaA,EAAcC,EAAOC,EAAPD,CAAY,CACrCE,QAAS,gBACTC,UAAS,gBAAAC,OAAkB,IAAoB,OAC/CC,UAAW,OACXC,UAAW,oBAOGC,IASd,OARkD,SAACC,GAAK,OACtDC,EAACC,EAAiB,CAACC,UAAU,uBAC3BC,EAACX,GAAIY,GAAI,CAAEC,KAAM,GAAMC,SAAAP,EAAMQ,SAC7BJ,EAACK,EAAO,CAAAC,QAAQ,YAAYC,KAAK,SAASC,KAAK,QAAOL,SAAA,aAIzD,CAEH,KAEaL,EAAoBV,EAAOC,EAAPD,CAAY,CAC3CqB,QAAS,OACTC,WAAY,SACZpB,QAAS,SACTqB,UAAW,wFACXC,SAAU,SACVC,OAAQ,EACRC,gBAAiBC,EAAOC,OAAOC,MAC/BC,OAAQ,EACRC,OAAQ"}
@@ -1,79 +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 { jsx } from 'react/jsx-runtime';
3
- import { Component } from 'react';
4
- import { TextField } from '@mui/material';
5
- import { getErrorMessage } from './helper.js';
6
-
7
- function CreateInputFile(params) {
8
- var FormInputFile = /*#__PURE__*/function (_Component) {
9
- function FormInputFile() {
10
- var _this;
11
- _classCallCheck(this, FormInputFile);
12
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13
- args[_key] = arguments[_key];
14
- }
15
- _this = _callSuper(this, FormInputFile, [].concat(args));
16
- _defineProperty(_this, "refInput", null);
17
- _defineProperty(_this, "getMergeConfig", function () {
18
- var _params$accept, _ref, _params$multiple;
19
- return {
20
- accept: (_params$accept = params === null || params === void 0 ? void 0 : params.accept) !== null && _params$accept !== void 0 ? _params$accept : _this.props.accept,
21
- multiple: (_ref = (_params$multiple = params === null || params === void 0 ? void 0 : params.multiple) !== null && _params$multiple !== void 0 ? _params$multiple : _this.props.multiple) !== null && _ref !== void 0 ? _ref : false
22
- };
23
- });
24
- _defineProperty(_this, "handleChange", function (e) {
25
- if (!_this.props.name) return;
26
- _this.props.onBlur && _this.props.onBlur(_this.props.name);
27
- });
28
- _defineProperty(_this, "isExploreOpen", false);
29
- _defineProperty(_this, "handleClick", function (e) {
30
- _this.isExploreOpen = true;
31
- });
32
- _defineProperty(_this, "handleFocus", function (e) {
33
- if (_this.isExploreOpen === true) {
34
- _this.isExploreOpen = false;
35
- if (!_this.props.name) return;
36
- _this.props.onBlur && _this.props.onBlur(_this.props.name);
37
- setTimeout(function () {
38
- _this.refInput && _this.refInput.blur();
39
- }, 50);
40
- }
41
- });
42
- return _this;
43
- }
44
- _inherits(FormInputFile, _Component);
45
- return _createClass(FormInputFile, [{
46
- key: "render",
47
- value: function render() {
48
- var _this2 = this,
49
- _this$props$name,
50
- _this$props$textField;
51
- var eMessage = getErrorMessage(this.props.messageErrors, this.props.name);
52
- var configs = this.getMergeConfig();
53
- return jsx(TextField, _objectSpread2(_objectSpread2({
54
- inputRef: function inputRef(ref) {
55
- return _this2.refInput = ref;
56
- },
57
- name: (_this$props$name = this.props.name) === null || _this$props$name === void 0 ? void 0 : _this$props$name.toString(),
58
- error: eMessage.error,
59
- helperText: eMessage.message,
60
- variant: 'outlined',
61
- type: 'file',
62
- fullWidth: true,
63
- onChange: this.handleChange,
64
- onClick: this.handleClick,
65
- onFocus: this.handleFocus
66
- }, this.props.textFieldProps), {}, {
67
- inputProps: _objectSpread2({
68
- accept: configs.accept,
69
- multiple: configs.multiple
70
- }, (_this$props$textField = this.props.textFieldProps) === null || _this$props$textField === void 0 ? void 0 : _this$props$textField.inputProps)
71
- }));
72
- }
73
- }]);
74
- }(Component);
75
- return FormInputFile;
76
- }
77
-
78
- export { CreateInputFile as default };
1
+ import{inherits as e,createClass as r,objectSpread2 as n,classCallCheck as t,callSuper as o,defineProperty as p}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import{Component as l}from"react";import{TextField as s}from"@mui/material";import{getErrorMessage as u}from"./helper.js";function a(a){var c=function(){function c(){var e;t(this,c);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return e=o(this,c,[].concat(n)),p(e,"refInput",null),p(e,"getMergeConfig",(function(){var r,n,t;return{accept:null!==(r=null==a?void 0:a.accept)&&void 0!==r?r:e.props.accept,multiple:null!==(n=null!==(t=null==a?void 0:a.multiple)&&void 0!==t?t:e.props.multiple)&&void 0!==n&&n}})),p(e,"handleChange",(function(r){e.props.name&&e.props.onBlur&&e.props.onBlur(e.props.name)})),p(e,"isExploreOpen",!1),p(e,"handleClick",(function(r){e.isExploreOpen=!0})),p(e,"handleFocus",(function(r){if(!0===e.isExploreOpen){if(e.isExploreOpen=!1,!e.props.name)return;e.props.onBlur&&e.props.onBlur(e.props.name),setTimeout((function(){e.refInput&&e.refInput.blur()}),50)}})),e}return e(c,l),r(c,[{key:"render",value:function(){var e,r,t=this,o=u(this.props.messageErrors,this.props.name),p=this.getMergeConfig();return i(s,n(n({inputRef:function(e){return t.refInput=e},name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),error:o.error,helperText:o.message,variant:"outlined",type:"file",fullWidth:!0,onChange:this.handleChange,onClick:this.handleClick,onFocus:this.handleFocus},this.props.textFieldProps),{},{inputProps:n({accept:p.accept,multiple:p.multiple},null===(r=this.props.textFieldProps)||void 0===r?void 0:r.inputProps)}))}}])}();return c}export{a as default};
79
2
  //# sourceMappingURL=create.input.file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.input.file.js","sources":["../../src/form/create.input.file.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { TextField, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\n\r\nexport interface IInputFileProps<T> extends IFormInputBase<T> {\r\n accept?: string\r\n multiple?: boolean\r\n textFieldProps?: TextFieldProps\r\n}\r\n\r\nexport interface IInputFileState {}\r\n\r\nexport interface IInputFileParams {\r\n accept?: string\r\n multiple?: boolean\r\n}\r\n\r\nfunction CreateInputFile<T>(params?: IInputFileParams): ComponentType<IFormInputBase<T>> {\r\n class FormInputFile extends Component<IInputFileProps<T>, IInputFileState> {\r\n refInput: HTMLInputElement | null = null\r\n\r\n render() {\r\n const eMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const configs = this.getMergeConfig()\r\n return (\r\n <TextField\r\n inputRef={(ref) => (this.refInput = ref)}\r\n name={this.props.name?.toString()}\r\n error={eMessage.error}\r\n helperText={eMessage.message}\r\n variant='outlined'\r\n type='file'\r\n fullWidth\r\n onChange={this.handleChange}\r\n onClick={this.handleClick}\r\n onFocus={this.handleFocus}\r\n {...this.props.textFieldProps}\r\n inputProps={{\r\n accept: configs.accept,\r\n multiple: configs.multiple,\r\n ...this.props.textFieldProps?.inputProps\r\n }}\r\n />\r\n )\r\n }\r\n\r\n getMergeConfig = () => ({\r\n accept: params?.accept ?? this.props.accept,\r\n multiple: params?.multiple ?? this.props.multiple ?? false\r\n })\r\n\r\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n isExploreOpen = false\r\n\r\n handleClick: React.MouseEventHandler<HTMLDivElement> = (e) => {\r\n this.isExploreOpen = true\r\n }\r\n\r\n handleFocus: React.FocusEventHandler<HTMLInputElement> = (e) => {\r\n if (this.isExploreOpen === true) {\r\n this.isExploreOpen = false\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n setTimeout(() => {\r\n this.refInput && this.refInput.blur()\r\n }, 50)\r\n }\r\n }\r\n }\r\n return FormInputFile\r\n}\r\n\r\nexport default CreateInputFile\r\n"],"names":["CreateInputFile","params","FormInputFile","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_params$accept","_ref","_params$multiple","accept","props","multiple","e","name","onBlur","isExploreOpen","setTimeout","refInput","blur","_inherits","_createClass","key","value","render","_this2","_this$props$name","_this$props$textField","eMessage","getErrorMessage","messageErrors","configs","getMergeConfig","_jsx","TextField","_objectSpread","inputRef","ref","toString","error","helperText","message","variant","type","fullWidth","onChange","handleChange","onClick","handleClick","onFocus","handleFocus","textFieldProps","inputProps","Component"],"mappings":"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"}
1
+ {"version":3,"file":"create.input.file.js","sources":["../../src/form/create.input.file.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { TextField, TextFieldProps } from '@mui/material'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helper'\r\n\r\nexport interface IInputFileProps<T> extends IFormInputBase<T> {\r\n accept?: string\r\n multiple?: boolean\r\n textFieldProps?: TextFieldProps\r\n}\r\n\r\nexport interface IInputFileState {}\r\n\r\nexport interface IInputFileParams {\r\n accept?: string\r\n multiple?: boolean\r\n}\r\n\r\nfunction CreateInputFile<T>(params?: IInputFileParams): ComponentType<IFormInputBase<T>> {\r\n class FormInputFile extends Component<IInputFileProps<T>, IInputFileState> {\r\n refInput: HTMLInputElement | null = null\r\n\r\n render() {\r\n const eMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const configs = this.getMergeConfig()\r\n return (\r\n <TextField\r\n inputRef={(ref) => (this.refInput = ref)}\r\n name={this.props.name?.toString()}\r\n error={eMessage.error}\r\n helperText={eMessage.message}\r\n variant='outlined'\r\n type='file'\r\n fullWidth\r\n onChange={this.handleChange}\r\n onClick={this.handleClick}\r\n onFocus={this.handleFocus}\r\n {...this.props.textFieldProps}\r\n inputProps={{\r\n accept: configs.accept,\r\n multiple: configs.multiple,\r\n ...this.props.textFieldProps?.inputProps\r\n }}\r\n />\r\n )\r\n }\r\n\r\n getMergeConfig = () => ({\r\n accept: params?.accept ?? this.props.accept,\r\n multiple: params?.multiple ?? this.props.multiple ?? false\r\n })\r\n\r\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n }\r\n\r\n isExploreOpen = false\r\n\r\n handleClick: React.MouseEventHandler<HTMLDivElement> = (e) => {\r\n this.isExploreOpen = true\r\n }\r\n\r\n handleFocus: React.FocusEventHandler<HTMLInputElement> = (e) => {\r\n if (this.isExploreOpen === true) {\r\n this.isExploreOpen = false\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n setTimeout(() => {\r\n this.refInput && this.refInput.blur()\r\n }, 50)\r\n }\r\n }\r\n }\r\n return FormInputFile\r\n}\r\n\r\nexport default CreateInputFile\r\n"],"names":["CreateInputFile","params","FormInputFile","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_params$accept","_ref","_params$multiple","accept","props","multiple","e","name","onBlur","isExploreOpen","setTimeout","refInput","blur","_inherits","Component","_createClass","key","value","_this$props$name","_this$props$textField","_this2","eMessage","getErrorMessage","messageErrors","configs","getMergeConfig","_jsx","TextField","_objectSpread","inputRef","ref","toString","error","helperText","message","variant","type","fullWidth","onChange","handleChange","onClick","handleClick","onFocus","handleFocus","textFieldProps","inputProps"],"mappings":"iUAkBA,SAASA,EAAmBC,GAAyB,IAC7CC,aAAc,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAqDjB,OArDiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,WACkB,MAAIW,EAAAX,EA2BvB,kBAAA,WAAA,IAAAY,EAAAC,EAAAC,EAAA,MAAO,CACtBC,OAAsBH,QAAhBA,EAAEd,eAAAA,EAAQiB,kBAAMH,EAAAA,EAAIZ,EAAKgB,MAAMD,OACrCE,SAAiDJ,QAAzCA,EAAkB,QAAlBC,EAAEhB,aAAM,EAANA,EAAQmB,gBAAQH,IAAAA,EAAAA,EAAId,EAAKgB,MAAMC,gBAAQJ,IAAAA,GAAAA,MACjDF,EAAAX,EAEyD,gBAAA,SAACkB,GACrDlB,EAAKgB,MAAMG,MAChBnB,EAAKgB,MAAMI,QAAUpB,EAAKgB,MAAMI,OAAOpB,EAAKgB,MAAMG,SACnDR,EAAAX,EAAA,iBAEe,GAAKW,EAAAX,EAEkC,eAAA,SAACkB,GACtDlB,EAAKqB,eAAgB,KACtBV,EAAAX,EAEwD,eAAA,SAACkB,GACxD,IAA2B,IAAvBlB,EAAKqB,cAAwB,CAE/B,GADArB,EAAKqB,eAAgB,GAChBrB,EAAKgB,MAAMG,KAAM,OACtBnB,EAAKgB,MAAMI,QAAUpB,EAAKgB,MAAMI,OAAOpB,EAAKgB,MAAMG,MAClDG,YAAW,WACTtB,EAAKuB,UAAYvB,EAAKuB,SAASC,MAChC,GAAE,GACJ,KACFxB,CAAA,CAAA,OAAAyB,EAAA1B,EArDyB2B,GAqDzBC,EAAA5B,EAAA,CAAA,CAAA6B,IAAA,SAAAC,MAlDD,WAAM,IAAAC,EAAAC,EAAAC,EAAAvB,KACEwB,EAAWC,EAAgBzB,KAAKO,MAAMmB,cAAe1B,KAAKO,MAAMG,MAChEiB,EAAU3B,KAAK4B,iBACrB,OACEC,EAACC,EAASC,EAAAA,EAAA,CACRC,SAAU,SAACC,GAAG,OAAMV,EAAKT,SAAWmB,CAAI,EACxCvB,KAAqB,QAAjBW,EAAErB,KAAKO,MAAMG,YAAXW,IAAeA,OAAfA,EAAAA,EAAiBa,WACvBC,MAAOX,EAASW,MAChBC,WAAYZ,EAASa,QACrBC,QAAQ,WACRC,KAAK,OACLC,WACA,EAAAC,SAAUzC,KAAK0C,aACfC,QAAS3C,KAAK4C,YACdC,QAAS7C,KAAK8C,aACV9C,KAAKO,MAAMwC,gBAAc,CAAA,EAAA,CAC7BC,WAAUjB,EAAA,CACRzB,OAAQqB,EAAQrB,OAChBE,SAAUmB,EAAQnB,UACU,QADFc,EACvBtB,KAAKO,MAAMwC,sBAAc,IAAAzB,OAAA,EAAzBA,EAA2B0B,cAItC,IAAC,IA6BH,OAAO1D,CACT"}