@portnet/ui 0.0.18

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 (62) hide show
  1. package/README.md +70 -0
  2. package/dist/components/buttons/PuiButton.js +133 -0
  3. package/dist/components/buttons/PuiIconButton.js +94 -0
  4. package/dist/components/common/PuiAlertContext.js +11 -0
  5. package/dist/components/common/StyledMuiButton.js +45 -0
  6. package/dist/components/common/StyledMuiTextField.js +109 -0
  7. package/dist/components/inputs/PuiAutocomplete.js +338 -0
  8. package/dist/components/inputs/PuiCheckbox.js +264 -0
  9. package/dist/components/inputs/PuiCheckboxGroup.js +216 -0
  10. package/dist/components/inputs/PuiCheckboxItem.js +158 -0
  11. package/dist/components/inputs/PuiDateField.js +259 -0
  12. package/dist/components/inputs/PuiFileField.js +244 -0
  13. package/dist/components/inputs/PuiSelect.js +349 -0
  14. package/dist/components/inputs/PuiTextField.js +256 -0
  15. package/dist/components/others/PuiBadge.js +57 -0
  16. package/dist/components/others/PuiChip.js +145 -0
  17. package/dist/components/others/PuiDialog.js +100 -0
  18. package/dist/components/others/PuiFormikForm.js +57 -0
  19. package/dist/components/others/PuiGrid.js +22 -0
  20. package/dist/components/others/PuiIcon.js +88 -0
  21. package/dist/components/others/PuiLoadingBackdrop.js +33 -0
  22. package/dist/components/others/PuiMainContainer.js +37 -0
  23. package/dist/components/others/PuiNavigation.js +64 -0
  24. package/dist/components/others/PuiSection.js +94 -0
  25. package/dist/components/others/PuiTooltip.js +85 -0
  26. package/dist/components/providers/PuiAlertProvider.js +117 -0
  27. package/dist/components/referentiel/common/ReferetielContext.js +11 -0
  28. package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +306 -0
  29. package/dist/components/referentiel/components/PuiSimpleReferentielField.js +190 -0
  30. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +302 -0
  31. package/dist/components/referentiel/components/constants/specificReferentielsApis.js +17 -0
  32. package/dist/components/referentiel/components/constants/specificReferentielsBaseColumns.js +337 -0
  33. package/dist/components/referentiel/components/constants/specificReferentielsBaseFilters.js +325 -0
  34. package/dist/components/referentiel/components/constants/specificReferentielsInitialValues.js +48 -0
  35. package/dist/components/referentiel/components/constants/specificReferentielsKeys.js +18 -0
  36. package/dist/components/referentiel/components/constants/specificReferentielsTitles.js +17 -0
  37. package/dist/components/referentiel/components/constants/specificReferentielsValidationSchemas.js +53 -0
  38. package/dist/components/referentiel/components/general/PuiPopupReferentielBase.js +303 -0
  39. package/dist/components/referentiel/providers/PuiReferentielProvider.js +56 -0
  40. package/dist/components/tab/PuiTab.js +26 -0
  41. package/dist/components/tab/PuiTabs.js +137 -0
  42. package/dist/components/table/PuiTable.js +352 -0
  43. package/dist/components/table/PuiTableAction.js +63 -0
  44. package/dist/components/typography/PuiDefinition.js +43 -0
  45. package/dist/components/typography/PuiIndication.js +76 -0
  46. package/dist/components/typography/PuiMainTitle.js +82 -0
  47. package/dist/components/ui/dialogs/PuiSearchDialog.js +96 -0
  48. package/dist/components/ui/pages/errors/PuiErrorBasePage.js +70 -0
  49. package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +37 -0
  50. package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +31 -0
  51. package/dist/components/ui/pages/errors/PuiServerErrorPage.js +38 -0
  52. package/dist/components/ui/pages/general/PuiDefaultPage.js +65 -0
  53. package/dist/components/ui/pages/general/PuiSearchPage.js +161 -0
  54. package/dist/config/apperance.js +26 -0
  55. package/dist/config/mapping.js +28 -0
  56. package/dist/config/referentiel.js +11 -0
  57. package/dist/general/yupValidationErrors.js +10 -0
  58. package/dist/hooks/useAlert.js +17 -0
  59. package/dist/hooks/useAxios.js +22 -0
  60. package/dist/hooks/useQuery.js +20 -0
  61. package/dist/index.js +293 -0
  62. package/package.json +93 -0
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.symbol.description.js");
9
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
10
+ var _Clear = _interopRequireDefault(require("@mui/icons-material/Clear"));
11
+ var _material = require("@mui/material");
12
+ var _styles = require("@mui/material/styles");
13
+ var _formik = require("formik");
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _apperance = require("../../config/apperance");
17
+ var _StyledMuiTextField = _interopRequireDefault(require("../common/StyledMuiTextField"));
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["id", "className", "sx", "label", "name", "value", "error", "disabled", "required", "focused", "loading", "fullWidth", "helperText", "readOnly", "options", "onChange", "isOptionEqualToValue", "getOptionLabel", "getOptionValue", "getOptionKey"],
20
+ _excluded2 = ["id", "className", "sx", "label", "name", "value", "error", "disabled", "required", "focused", "loading", "fullWidth", "helperText", "readOnly", "options", "onChange", "getOptionLabel", "getOptionValue", "getOptionKey"],
21
+ _excluded3 = ["formik", "id", "className", "sx", "label", "name", "value", "error", "disabled", "required", "focused", "loading", "fullWidth", "helperText", "readOnly", "options", "onChange", "isOptionEqualToValue", "getOptionLabel", "getOptionValue", "getOptionKey"];
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
31
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
32
+ const StyledAutocompleteMuiTextField = (0, _styles.styled)( /*#__PURE__*/_react.default.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledMuiTextField.default, _objectSpread({
33
+ ref: ref
34
+ }, props))))(() => {
35
+ return {
36
+ "& .MuiInputBase-root": {
37
+ padding: 0,
38
+ "&.Mui-error .MuiSvgIcon-root": {
39
+ color: _apperance.palette.error
40
+ }
41
+ }
42
+ };
43
+ });
44
+ const PuiStandardAutocomplete = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
45
+ let {
46
+ id,
47
+ className,
48
+ sx,
49
+ label,
50
+ name,
51
+ value,
52
+ error,
53
+ disabled,
54
+ required,
55
+ focused,
56
+ loading,
57
+ fullWidth,
58
+ helperText,
59
+ readOnly,
60
+ options,
61
+ onChange,
62
+ isOptionEqualToValue,
63
+ getOptionLabel,
64
+ getOptionValue,
65
+ getOptionKey
66
+ } = _ref,
67
+ rest = _objectWithoutProperties(_ref, _excluded);
68
+ const handleChange = (event, option) => {
69
+ onChange(getOptionValue(option));
70
+ };
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Autocomplete, _objectSpread({
72
+ ref: ref,
73
+ id: id,
74
+ className: className,
75
+ sx: sx,
76
+ label: label,
77
+ name: name,
78
+ value: value,
79
+ options: options,
80
+ disabled: loading || disabled,
81
+ loading: loading,
82
+ readOnly: readOnly,
83
+ clearText: "",
84
+ closeText: "",
85
+ openText: "",
86
+ fullWidth: fullWidth,
87
+ noOptionsText: "Pas d'options",
88
+ getOptionLabel: getOptionLabel,
89
+ isOptionEqualToValue: isOptionEqualToValue,
90
+ onChange: handleChange,
91
+ clearIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Clear.default, {
92
+ fontSize: "small"
93
+ }),
94
+ popupIcon: loading || disabled || readOnly ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {}),
95
+ PaperComponent: _ref2 => {
96
+ let {
97
+ children
98
+ } = _ref2;
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Paper, {
100
+ style: {
101
+ background: "white",
102
+ fontSize: 13
103
+ },
104
+ children: children
105
+ });
106
+ },
107
+ componentsProps: {
108
+ popper: {
109
+ sx: {
110
+ "& .MuiAutocomplete-listbox": {
111
+ paddingY: 0,
112
+ "& .MuiAutocomplete-option:not(:last-child)": {
113
+ borderBottom: "1px solid ".concat(_apperance.palette.gray.light)
114
+ },
115
+ "& .MuiAutocomplete-option": {
116
+ minHeight: "fit-content !important"
117
+ }
118
+ }
119
+ }
120
+ }
121
+ },
122
+ renderOption: (props, option) => {
123
+ return /*#__PURE__*/(0, _react.createElement)(_material.MenuItem, _objectSpread(_objectSpread({}, props), {}, {
124
+ value: getOptionValue(option),
125
+ key: getOptionKey(option),
126
+ sx: {
127
+ fontSize: 13
128
+ }
129
+ }), getOptionLabel(option));
130
+ },
131
+ renderInput: params => {
132
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledAutocompleteMuiTextField, _objectSpread(_objectSpread({}, params), {}, {
133
+ required: required,
134
+ focused: focused,
135
+ fullWidth: fullWidth,
136
+ label: label,
137
+ error: error,
138
+ helperText: helperText,
139
+ InputProps: _objectSpread(_objectSpread({}, params.InputProps), {}, {
140
+ endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
141
+ children: [loading && !disabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {
142
+ size: 16,
143
+ sx: {
144
+ color: _apperance.palette.primary,
145
+ marginRight: "-25px"
146
+ }
147
+ }) : null, params.InputProps.endAdornment]
148
+ })
149
+ })
150
+ }));
151
+ }
152
+ }, rest));
153
+ });
154
+ const PuiFormikAutocomplete = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
155
+ let {
156
+ id,
157
+ className,
158
+ sx,
159
+ label,
160
+ name,
161
+ value,
162
+ error,
163
+ disabled,
164
+ required,
165
+ focused,
166
+ loading,
167
+ fullWidth,
168
+ helperText,
169
+ readOnly,
170
+ options,
171
+ onChange,
172
+ getOptionLabel,
173
+ getOptionValue,
174
+ getOptionKey
175
+ } = _ref3,
176
+ rest = _objectWithoutProperties(_ref3, _excluded2);
177
+ const formikContext = (0, _formik.useFormikContext)();
178
+ const [field, meta] = (0, _formik.useField)(name);
179
+ const [selectedOption, setSelectedOption] = _react.default.useState(null);
180
+ const [hasError, setHasError] = _react.default.useState(false);
181
+ const changeHandler = option => {
182
+ formikContext.setFieldValue(name, option !== null ? getOptionValue(option) : "");
183
+ setSelectedOption(option);
184
+ onChange(option !== null ? getOptionValue(option) : null);
185
+ };
186
+ const inputChangeHandler = (event, newInputValue, reason) => {
187
+ if (reason === "clear") {
188
+ formikContext.setFieldValue(name, "");
189
+ setSelectedOption(null);
190
+ }
191
+ };
192
+ _react.default.useEffect(() => {
193
+ setHasError(Boolean(meta) && Boolean(meta.touched) && Boolean(meta.error));
194
+ }, [meta]);
195
+ _react.default.useEffect(() => {
196
+ if (!Boolean(selectedOption) && value !== undefined && options !== undefined) {
197
+ let option;
198
+ if (typeof value === "object") {
199
+ option = value;
200
+ } else {
201
+ option = options.find(option => String(getOptionValue(option)) === String(value));
202
+ }
203
+ setSelectedOption(option);
204
+ formikContext.setFieldValue(name, getOptionValue(option));
205
+ }
206
+ // eslint-disable-next-line react-hooks/exhaustive-deps
207
+ }, [value]);
208
+ _react.default.useEffect(() => {
209
+ if (!Boolean(selectedOption) && field.value !== undefined && options !== undefined) {
210
+ let option;
211
+ if (typeof field.value === "object") {
212
+ option = field.value;
213
+ } else {
214
+ option = options.find(option => getOptionValue(option) === field.value);
215
+ }
216
+ setSelectedOption(option);
217
+ }
218
+ // eslint-disable-next-line react-hooks/exhaustive-deps
219
+ }, [field.value, options]);
220
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PuiStandardAutocomplete, _objectSpread({
221
+ id: id,
222
+ ref: ref,
223
+ className: className,
224
+ sx: sx,
225
+ label: label,
226
+ name: name,
227
+ value: selectedOption !== null && selectedOption !== void 0 ? selectedOption : null,
228
+ error: error || hasError,
229
+ disabled: disabled,
230
+ required: required,
231
+ focused: focused,
232
+ loading: loading,
233
+ fullWidth: fullWidth,
234
+ helperText: hasError && Boolean(meta.error) ? meta.error : helperText !== null && helperText !== void 0 ? helperText : "",
235
+ readOnly: readOnly,
236
+ options: options,
237
+ onChange: changeHandler,
238
+ getOptionKey: getOptionKey,
239
+ getOptionLabel: getOptionLabel,
240
+ getOptionValue: option => option,
241
+ onInputChange: inputChangeHandler
242
+ }, rest));
243
+ });
244
+ const PuiAutocomplete = /*#__PURE__*/_react.default.forwardRef((_ref4, ref) => {
245
+ let {
246
+ formik,
247
+ id,
248
+ className,
249
+ sx,
250
+ label,
251
+ name,
252
+ value,
253
+ error,
254
+ disabled,
255
+ required,
256
+ focused,
257
+ loading,
258
+ fullWidth,
259
+ helperText,
260
+ readOnly,
261
+ options,
262
+ onChange,
263
+ isOptionEqualToValue,
264
+ getOptionLabel,
265
+ getOptionValue,
266
+ getOptionKey
267
+ } = _ref4,
268
+ rest = _objectWithoutProperties(_ref4, _excluded3);
269
+ return /*#__PURE__*/_react.default.createElement(formik ? PuiFormikAutocomplete : PuiStandardAutocomplete, _objectSpread({
270
+ ref,
271
+ id,
272
+ className,
273
+ sx,
274
+ label,
275
+ name,
276
+ value,
277
+ error,
278
+ disabled,
279
+ required,
280
+ focused,
281
+ loading,
282
+ fullWidth,
283
+ helperText,
284
+ readOnly,
285
+ options,
286
+ onChange,
287
+ isOptionEqualToValue,
288
+ getOptionLabel,
289
+ getOptionValue,
290
+ getOptionKey
291
+ }, rest), null);
292
+ });
293
+ PuiAutocomplete.propTypes = {
294
+ id: _propTypes.default.string,
295
+ className: _propTypes.default.string,
296
+ sx: _propTypes.default.object,
297
+ label: _propTypes.default.string,
298
+ name: _propTypes.default.string,
299
+ helperText: _propTypes.default.string,
300
+ disabled: _propTypes.default.bool,
301
+ required: _propTypes.default.bool,
302
+ error: _propTypes.default.bool,
303
+ formik: _propTypes.default.bool,
304
+ focused: _propTypes.default.bool,
305
+ loading: _propTypes.default.bool,
306
+ readOnly: _propTypes.default.bool,
307
+ fullWidth: _propTypes.default.bool,
308
+ options: _propTypes.default.array,
309
+ onChange: _propTypes.default.func,
310
+ isOptionEqualToValue: _propTypes.default.func,
311
+ getOptionKey: _propTypes.default.func,
312
+ getOptionValue: _propTypes.default.func,
313
+ getOptionLabel: _propTypes.default.func.isRequired
314
+ };
315
+ PuiAutocomplete.defaultProps = {
316
+ disabled: false,
317
+ loading: false,
318
+ required: false,
319
+ formik: false,
320
+ error: false,
321
+ fullWidth: false,
322
+ readOnly: false,
323
+ options: [],
324
+ getOptionKey: option => {
325
+ if (typeof option === "object") {
326
+ let key = "";
327
+ Object.keys(option).forEach(optionKey => {
328
+ key += "".concat(key.length === 0 ? "" : "-").concat(String(option[optionKey]));
329
+ });
330
+ return key;
331
+ }
332
+ return option;
333
+ },
334
+ getOptionValue: option => option,
335
+ onChange: () => {}
336
+ };
337
+ var _default = PuiAutocomplete;
338
+ exports.default = _default;
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.array.includes.js");
9
+ require("core-js/modules/es.string.includes.js");
10
+ require("core-js/modules/es.symbol.description.js");
11
+ var _CheckBoxOutlineBlankRounded = _interopRequireDefault(require("@mui/icons-material/CheckBoxOutlineBlankRounded"));
12
+ var _material = require("@mui/material");
13
+ var _styles = require("@mui/material/styles");
14
+ var _formik = require("formik");
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _apperance = require("../../config/apperance");
18
+ var _PuiIcon = _interopRequireDefault(require("../others/PuiIcon"));
19
+ var _PuiIndication = _interopRequireDefault(require("../typography/PuiIndication"));
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ const _excluded = ["id", "className", "sx", "name", "value", "label", "checked", "error", "helperText", "disableHelperText", "disabled", "required", "onChange"],
22
+ _excluded2 = ["id", "className", "sx", "name", "value", "label", "error", "disableHelperText", "helperText", "disabled", "required", "asArray", "onChange"],
23
+ _excluded3 = ["formik", "id", "className", "sx", "name", "value", "label", "checked", "asArray", "error", "helperText", "disableHelperText", "disabled", "required", "onChange"];
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
31
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
32
+ const StyledMuiFormControl = (0, _styles.styled)( /*#__PURE__*/_react.default.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, _objectSpread({
33
+ ref: ref
34
+ }, props))))(() => {
35
+ return {
36
+ "&.MuiFormControl-root": {
37
+ "& .MuiCheckbox-root": {
38
+ "& .MuiTouchRipple-root": {
39
+ display: "none"
40
+ },
41
+ "&.Mui-checked .MuiTouchRipple-root": {
42
+ boxSizing: "border-box",
43
+ display: "block",
44
+ position: "absolute",
45
+ width: "20px",
46
+ height: "20px",
47
+ left: "50%",
48
+ top: "50%",
49
+ transform: "translate(-50%,-50%)",
50
+ backgroundColor: _apperance.palette.primary,
51
+ border: "2px ".concat(_apperance.palette.gray.light, " solid"),
52
+ borderRadius: "2px",
53
+ "& *": {
54
+ display: "none"
55
+ }
56
+ },
57
+ "& .MuiSvgIcon-root": {
58
+ width: "32px",
59
+ height: "32px"
60
+ },
61
+ "&.Mui-disabled .MuiSvgIcon-root": {
62
+ color: _apperance.palette.gray.dark
63
+ }
64
+ },
65
+ "& .Mui-error .MuiCheckbox-colorPrimary": {
66
+ color: _apperance.palette.error
67
+ },
68
+ "& .Mui-error .Mui-checked .MuiTouchRipple-root": {
69
+ backgroundColor: _apperance.palette.error
70
+ },
71
+ "& .MuiCheckbox-colorPrimary": {
72
+ color: _apperance.palette.primary
73
+ },
74
+ "&.required .MuiInputBase-root": {
75
+ backgroundColor: _apperance.palette.background.required
76
+ },
77
+ "& .MuiFormControlLabel-root": {
78
+ margin: 0,
79
+ "& .MuiTypography-root": {
80
+ fontSize: ".8rem",
81
+ color: _apperance.palette.gray.darker,
82
+ lineSpacing: "-0.03em",
83
+ userSelect: "none",
84
+ fontWeight: "600"
85
+ },
86
+ "&.Mui-error": {
87
+ "& .MuiTypography-root": {
88
+ color: _apperance.palette.error
89
+ }
90
+ }
91
+ },
92
+ "& .MuiFormHelperText-root": {
93
+ marginTop: "-10px",
94
+ fontWeight: "bold",
95
+ fontSize: ".7rem",
96
+ color: _apperance.palette.gray.darker
97
+ }
98
+ }
99
+ };
100
+ });
101
+ const PuiStandardCheckbox = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
102
+ let {
103
+ id,
104
+ className,
105
+ sx,
106
+ name,
107
+ value,
108
+ label,
109
+ checked,
110
+ error,
111
+ helperText,
112
+ disableHelperText,
113
+ disabled,
114
+ required,
115
+ onChange
116
+ } = _ref,
117
+ rest = _objectWithoutProperties(_ref, _excluded);
118
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledMuiFormControl, {
119
+ error: error,
120
+ sx: sx,
121
+ id: id,
122
+ className: className,
123
+ disabled: disabled,
124
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControlLabel, {
125
+ ref: ref,
126
+ disabled: disabled,
127
+ label: label !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Typography, {
128
+ children: [label, required && " *"]
129
+ }) : undefined,
130
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Checkbox, _objectSpread({
131
+ name: name,
132
+ checked: checked,
133
+ required: required,
134
+ disabled: disabled,
135
+ value: value !== null && value !== void 0 ? value : true,
136
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckBoxOutlineBlankRounded.default, {}),
137
+ checkedIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckBoxOutlineBlankRounded.default, {}),
138
+ onChange: onChange
139
+ }, rest))
140
+ }), !disableHelperText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormHelperText, {
141
+ children: error && Boolean(helperText) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIndication.default, {
142
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIcon.default, {
143
+ type: "danger"
144
+ }),
145
+ color: "error",
146
+ size: "small",
147
+ children: helperText
148
+ }) : helperText
149
+ })]
150
+ });
151
+ });
152
+ const PuiFormikCheckbox = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
153
+ var _field$value;
154
+ let {
155
+ id,
156
+ className,
157
+ sx,
158
+ name,
159
+ value,
160
+ label,
161
+ error,
162
+ disableHelperText,
163
+ helperText,
164
+ disabled,
165
+ required,
166
+ asArray,
167
+ onChange
168
+ } = _ref2,
169
+ rest = _objectWithoutProperties(_ref2, _excluded2);
170
+ const [field, meta] = (0, _formik.useField)(name);
171
+ const formikContext = (0, _formik.useFormikContext)();
172
+ const [hasError, setHasError] = _react.default.useState(false);
173
+ const changeHandler = (event, hasBeenChecked) => {
174
+ if (asArray || value === undefined) {
175
+ field.onChange(event);
176
+ } else {
177
+ formikContext.setFieldValue(name, hasBeenChecked ? event.target.value : formikContext.initialValues[name]);
178
+ }
179
+ onChange(event);
180
+ };
181
+ _react.default.useEffect(() => {
182
+ setHasError(Boolean(meta) && Boolean(meta.touched) && Boolean(meta.error));
183
+ }, [meta]);
184
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PuiStandardCheckbox, _objectSpread({
185
+ id: id,
186
+ ref: ref,
187
+ className: className,
188
+ sx: sx,
189
+ name: name,
190
+ error: error || hasError,
191
+ helperText: hasError && Boolean(meta.error) ? meta.error : helperText !== null && helperText !== void 0 ? helperText : "",
192
+ value: value,
193
+ label: label,
194
+ disableHelperText: disableHelperText,
195
+ checked: value !== undefined ? String(field.value) === String(value) || ((_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.includes(String(value))) : undefined,
196
+ disabled: disabled,
197
+ required: required,
198
+ onChange: changeHandler
199
+ }, rest));
200
+ });
201
+ const PuiCheckbox = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
202
+ let {
203
+ formik,
204
+ id,
205
+ className,
206
+ sx,
207
+ name,
208
+ value,
209
+ label,
210
+ checked,
211
+ asArray,
212
+ error,
213
+ helperText,
214
+ disableHelperText,
215
+ disabled,
216
+ required,
217
+ onChange
218
+ } = _ref3,
219
+ rest = _objectWithoutProperties(_ref3, _excluded3);
220
+ return /*#__PURE__*/_react.default.createElement(formik ? PuiFormikCheckbox : PuiStandardCheckbox, _objectSpread({
221
+ id,
222
+ ref,
223
+ className,
224
+ sx,
225
+ name,
226
+ value,
227
+ label,
228
+ checked,
229
+ asArray,
230
+ error,
231
+ helperText,
232
+ disableHelperText,
233
+ disabled,
234
+ required,
235
+ onChange
236
+ }, rest));
237
+ });
238
+ PuiCheckbox.propTypes = {
239
+ id: _propTypes.default.string,
240
+ className: _propTypes.default.string,
241
+ sx: _propTypes.default.object,
242
+ label: _propTypes.default.string.isRequired,
243
+ name: _propTypes.default.string,
244
+ helperText: _propTypes.default.string,
245
+ asArray: _propTypes.default.bool,
246
+ error: _propTypes.default.bool,
247
+ formik: _propTypes.default.bool,
248
+ disabled: _propTypes.default.bool,
249
+ disableHelperText: _propTypes.default.bool,
250
+ required: _propTypes.default.bool,
251
+ checked: _propTypes.default.bool,
252
+ onChange: _propTypes.default.func
253
+ };
254
+ PuiCheckbox.defaultProps = {
255
+ error: false,
256
+ formik: false,
257
+ disabled: false,
258
+ asArray: false,
259
+ disableHelperText: false,
260
+ required: false,
261
+ onChange: () => {}
262
+ };
263
+ var _default = PuiCheckbox;
264
+ exports.default = _default;