@portnet/ui 3.0.2 → 3.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 (68) hide show
  1. package/dist/components/buttons/PuiButton.js +136 -0
  2. package/dist/components/buttons/PuiIconButton.js +97 -0
  3. package/dist/components/common/PuiAlertContext.js +13 -0
  4. package/dist/components/common/StyledMuiButton.js +47 -0
  5. package/dist/components/common/StyledMuiTextField.js +120 -0
  6. package/dist/components/inputs/PuiAutocomplete.js +350 -0
  7. package/dist/components/inputs/PuiCheckbox.js +307 -0
  8. package/dist/components/inputs/PuiCheckboxGroup.js +213 -0
  9. package/dist/components/inputs/PuiCheckboxItem.js +161 -0
  10. package/dist/components/inputs/PuiDateField.js +279 -0
  11. package/dist/components/inputs/PuiDateTimeField.js +395 -0
  12. package/dist/components/inputs/PuiFileField.js +264 -0
  13. package/dist/components/inputs/PuiRadioGroup.js +196 -0
  14. package/dist/components/inputs/PuiRadioItem.js +99 -0
  15. package/dist/components/inputs/PuiSelect.js +357 -0
  16. package/dist/components/inputs/PuiTextField.js +262 -0
  17. package/dist/components/others/PuiBadge.js +56 -0
  18. package/dist/components/others/PuiChip.js +149 -0
  19. package/dist/components/others/PuiDialog.js +101 -0
  20. package/dist/components/others/PuiFormikForm.js +71 -0
  21. package/dist/components/others/PuiGrid.js +21 -0
  22. package/dist/components/others/PuiIcon.js +91 -0
  23. package/dist/components/others/PuiLoadingBackdrop.js +32 -0
  24. package/dist/components/others/PuiMainContainer.js +40 -0
  25. package/dist/components/others/PuiNavigation.js +67 -0
  26. package/dist/components/others/PuiSection.js +97 -0
  27. package/dist/components/others/PuiTooltip.js +85 -0
  28. package/dist/components/providers/PuiAlertProvider.js +132 -0
  29. package/dist/components/providers/PuiLocalizationProvider.js +32 -0
  30. package/dist/components/referentiel/common/ReferetielContext.js +13 -0
  31. package/dist/components/referentiel/common/constants/specificReferentielsApis.js +22 -0
  32. package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +691 -0
  33. package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +598 -0
  34. package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +80 -0
  35. package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +18 -0
  36. package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +22 -0
  37. package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +86 -0
  38. package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +355 -0
  39. package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +180 -0
  40. package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +323 -0
  41. package/dist/components/referentiel/components/PuiSimpleReferentielField.js +201 -0
  42. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +330 -0
  43. package/dist/components/referentiel/providers/PuiReferentielProvider.js +65 -0
  44. package/dist/components/tab/PuiTab.js +25 -0
  45. package/dist/components/tab/PuiTabs.js +145 -0
  46. package/dist/components/table/ActionPopover.js +54 -0
  47. package/dist/components/table/PuiTable.js +446 -0
  48. package/dist/components/table/PuiTableAction.js +63 -0
  49. package/dist/components/typography/PuiDefinition.js +42 -0
  50. package/dist/components/typography/PuiIndication.js +79 -0
  51. package/dist/components/typography/PuiMainTitle.js +85 -0
  52. package/dist/components/ui/dialogs/PuiSearchDialog.js +105 -0
  53. package/dist/components/ui/pages/errors/PuiErrorBasePage.js +73 -0
  54. package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +36 -0
  55. package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +36 -0
  56. package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +30 -0
  57. package/dist/components/ui/pages/errors/PuiServerErrorPage.js +37 -0
  58. package/dist/components/ui/pages/general/PuiDefaultPage.js +68 -0
  59. package/dist/components/ui/pages/general/PuiSearchPage.js +201 -0
  60. package/dist/config/apperance.js +26 -0
  61. package/dist/config/mapping.js +26 -0
  62. package/dist/config/referentiel.js +10 -0
  63. package/dist/general/yupValidationErrors.js +8 -0
  64. package/dist/hooks/useAlert.js +20 -0
  65. package/dist/hooks/useAxios.js +23 -0
  66. package/dist/hooks/useQuery.js +19 -0
  67. package/dist/index.js +335 -0
  68. package/package.json +1 -1
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.PuiRadioGroupContext = void 0;
8
+ require("core-js/modules/es.json.stringify.js");
9
+ require("core-js/modules/web.dom-collections.iterator.js");
10
+ require("core-js/modules/es.symbol.description.js");
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 _PuiIcon = _interopRequireDefault(require("../others/PuiIcon"));
18
+ var _PuiIndication = _interopRequireDefault(require("../typography/PuiIndication"));
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ const _excluded = ["formik"];
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ 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; }
25
+ 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; }
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ 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; }
29
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
30
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
31
+ const StyledMuiFormLabel = (0, _styles.styled)(props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormLabel, _objectSpread({}, props)))(() => {
32
+ return {
33
+ zIndex: 0,
34
+ position: "initial",
35
+ transform: "none",
36
+ "&.Mui-focused .MuiTypography-root": {
37
+ color: _apperance.palette.primary
38
+ },
39
+ "&.Mui-disabled .MuiTypography-root": {
40
+ color: _apperance.palette.gray.darker
41
+ },
42
+ "&.Mui-error .MuiTypography-root": {
43
+ color: _apperance.palette.error
44
+ },
45
+ "& .MuiTypography-root": {
46
+ lineSpacing: "-0.03em",
47
+ fontSize: "0.8rem",
48
+ fontWeight: "600",
49
+ color: _apperance.palette.gray.darker
50
+ }
51
+ };
52
+ });
53
+ const PuiRadioGroupContext = exports.PuiRadioGroupContext = /*#__PURE__*/React.createContext(null);
54
+ const PuiStandardRadioGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
55
+ let {
56
+ id,
57
+ className,
58
+ sx,
59
+ name,
60
+ label,
61
+ value,
62
+ row,
63
+ required,
64
+ error,
65
+ disabled,
66
+ helperText,
67
+ onChange,
68
+ children
69
+ } = _ref;
70
+ const radioGroupId = React.useId();
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.FormControl, {
72
+ id: id,
73
+ ref: ref,
74
+ className: className,
75
+ sx: sx,
76
+ error: error,
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledMuiFormLabel, {
78
+ id: radioGroupId,
79
+ children: label !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Typography, {
80
+ children: [label, required && " *"]
81
+ }) : undefined
82
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.RadioGroup, {
83
+ sx: {
84
+ flexDirection: row ? "row" : "column"
85
+ },
86
+ "aria-labelledby": radioGroupId,
87
+ onChange: onChange,
88
+ value: value,
89
+ name: name,
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PuiRadioGroupContext.Provider, {
91
+ value: {
92
+ disabled,
93
+ error
94
+ },
95
+ children: children
96
+ })
97
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormHelperText, {
98
+ component: "div",
99
+ sx: {
100
+ fontWeight: "bold",
101
+ fontSize: ".7rem",
102
+ color: _apperance.palette.gray.darker
103
+ },
104
+ children: error && Boolean(helperText) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIndication.default, {
105
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIcon.default, {
106
+ type: "danger"
107
+ }),
108
+ color: "error",
109
+ size: "small",
110
+ children: typeof helperText === "object" ? JSON.stringify(helperText) : helperText
111
+ }) : helperText
112
+ })]
113
+ });
114
+ });
115
+ const PuiFormikRadioGroup = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
116
+ var _field$value;
117
+ let {
118
+ id,
119
+ className,
120
+ sx,
121
+ name,
122
+ label,
123
+ value,
124
+ row,
125
+ required,
126
+ error,
127
+ disabled,
128
+ helperText,
129
+ onChange,
130
+ children
131
+ } = _ref2;
132
+ const [field, meta] = (0, _formik.useField)(name);
133
+ const [hasError, setHasError] = React.useState(false);
134
+ const formikContext = (0, _formik.useFormikContext)();
135
+ const handleChange = event => {
136
+ field.onChange(event);
137
+ onChange(event);
138
+ };
139
+ React.useEffect(() => {
140
+ setHasError(Boolean(meta) && Boolean(meta.touched) && Boolean(meta.error));
141
+ }, [meta]);
142
+ React.useEffect(() => {
143
+ if (value !== undefined) {
144
+ formikContext.setFieldValue(name, value);
145
+ }
146
+ // eslint-disable-next-line react-hooks/exhaustive-deps
147
+ }, [value]);
148
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PuiStandardRadioGroup, {
149
+ id: id,
150
+ ref: ref,
151
+ className: className,
152
+ sx: sx,
153
+ name: name,
154
+ label: label,
155
+ value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : "",
156
+ row: row,
157
+ required: required,
158
+ disabled: disabled,
159
+ error: error || hasError,
160
+ helperText: hasError && Boolean(meta.error) ? meta.error : helperText !== null && helperText !== void 0 ? helperText : "",
161
+ onChange: handleChange,
162
+ children: children
163
+ });
164
+ });
165
+ const PuiRadioGroup = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
166
+ let {
167
+ formik
168
+ } = _ref3,
169
+ rest = _objectWithoutProperties(_ref3, _excluded);
170
+ return /*#__PURE__*/React.createElement(formik ? PuiFormikRadioGroup : PuiStandardRadioGroup, _objectSpread({
171
+ ref
172
+ }, rest));
173
+ });
174
+ PuiRadioGroup.propTypes = {
175
+ id: _propTypes.default.string,
176
+ className: _propTypes.default.string,
177
+ sx: _propTypes.default.object,
178
+ name: _propTypes.default.string,
179
+ label: _propTypes.default.string,
180
+ row: _propTypes.default.bool,
181
+ error: _propTypes.default.bool,
182
+ formik: _propTypes.default.bool,
183
+ required: _propTypes.default.bool,
184
+ disabled: _propTypes.default.bool,
185
+ helperText: _propTypes.default.string,
186
+ onChange: _propTypes.default.func
187
+ };
188
+ PuiRadioGroup.defaultProps = {
189
+ row: false,
190
+ disabled: false,
191
+ required: false,
192
+ error: false,
193
+ formik: true,
194
+ onChange: () => {}
195
+ };
196
+ var _default = exports.default = PuiRadioGroup;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ require("core-js/modules/web.dom-collections.iterator.js");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ require("core-js/modules/es.symbol.description.js");
10
+ var _material = require("@mui/material");
11
+ var _styles = require("@mui/material/styles");
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var React = _interopRequireWildcard(require("react"));
14
+ var _apperance = require("../../config/apperance");
15
+ var _PuiRadioGroup = require("./PuiRadioGroup");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ 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; }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
24
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
+ const StyledMuiFormControlLabel = (0, _styles.styled)( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControlLabel, _objectSpread({
26
+ ref: ref
27
+ }, props))))(() => {
28
+ return {
29
+ margin: 0,
30
+ "& .MuiTypography-root": {
31
+ fontSize: ".8rem",
32
+ color: _apperance.palette.gray.darker,
33
+ lineSpacing: "-0.03em",
34
+ userSelect: "none",
35
+ fontWeight: "600"
36
+ },
37
+ "&.Mui-error": {
38
+ color: _apperance.palette.error,
39
+ "& span": {
40
+ color: _apperance.palette.error
41
+ }
42
+ }
43
+ };
44
+ });
45
+ const StyledRadio = (0, _styles.styled)(props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Radio, _objectSpread({}, props)))(() => {
46
+ return {
47
+ "&.Mui-disabled span": {
48
+ color: _apperance.palette.gray.dark
49
+ },
50
+ "& span": {
51
+ color: _apperance.palette.primary
52
+ }
53
+ };
54
+ });
55
+ const PuiRadioItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {
56
+ let {
57
+ id,
58
+ className,
59
+ sx,
60
+ value,
61
+ label,
62
+ disabled,
63
+ error,
64
+ onChange
65
+ } = _ref;
66
+ const {
67
+ error: innerError,
68
+ disabled: innerDisabled
69
+ } = React.useContext(_PuiRadioGroup.PuiRadioGroupContext);
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledMuiFormControlLabel, {
71
+ id: id,
72
+ className: className,
73
+ ref: ref,
74
+ sx: sx,
75
+ value: value,
76
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledRadio, {
77
+ size: "small",
78
+ onChange: onChange
79
+ }),
80
+ label: label,
81
+ disabled: disabled || innerDisabled,
82
+ error: Boolean(error) || Boolean(innerError) ? "true" : undefined
83
+ });
84
+ });
85
+ PuiRadioItem.propTypes = {
86
+ id: _propTypes.default.string,
87
+ className: _propTypes.default.string,
88
+ sx: _propTypes.default.object,
89
+ label: _propTypes.default.string.isRequired,
90
+ value: _propTypes.default.any.isRequired,
91
+ error: _propTypes.default.bool,
92
+ disabled: _propTypes.default.bool,
93
+ onChange: _propTypes.default.func
94
+ };
95
+ PuiRadioItem.defaultProps = {
96
+ disabled: false,
97
+ onChange: () => {}
98
+ };
99
+ var _default = exports.default = PuiRadioItem;
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
9
+ require("core-js/modules/es.json.stringify.js");
10
+ require("core-js/modules/es.symbol.description.js");
11
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
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 = _interopRequireWildcard(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", "label", "value", "error", "helperText", "fullWidth", "disabled", "focused", "loading", "readOnly", "required", "options", "getOptionKey", "getOptionLabel", "getOptionValue", "isOptionEqualToValue", "onChange"],
22
+ _excluded2 = ["id", "className", "sx", "name", "label", "value", "error", "helperText", "fullWidth", "disabled", "focused", "loading", "readOnly", "required", "options", "getOptionKey", "getOptionLabel", "getOptionValue", "onChange"],
23
+ _excluded3 = ["formik", "id", "className", "sx", "name", "label", "value", "error", "helperText", "fullWidth", "disabled", "focused", "loading", "readOnly", "required", "options", "getOptionKey", "getOptionLabel", "getOptionValue", "onChange"];
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ 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; }
28
+ 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; }
29
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
+ 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; }
32
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
33
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
34
+ const StyledMuiFormControl = (0, _styles.styled)( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, _objectSpread(_objectSpread({}, props), {}, {
35
+ ref: ref
36
+ }))))(() => {
37
+ return {
38
+ "&.MuiFormControl-root": {
39
+ "& .MuiSelect-select": {
40
+ minHeight: "auto",
41
+ height: "1.4375em",
42
+ display: "flex",
43
+ alignItems: "center",
44
+ lineHeight: "1"
45
+ },
46
+ "&.required .MuiInputBase-root": {
47
+ backgroundColor: _apperance.palette.background.required
48
+ },
49
+ "& .MuiFormLabel-root": {
50
+ zIndex: 0,
51
+ lineSpacing: "-0.03em",
52
+ position: "initial",
53
+ transform: "none",
54
+ fontSize: "0.8rem",
55
+ fontWeight: "600",
56
+ marginBottom: "4px",
57
+ color: _apperance.palette.gray.darker,
58
+ "&.Mui-focused ": {
59
+ lineHeight: "1.4375em",
60
+ color: _apperance.palette.primary
61
+ },
62
+ "&.Mui-disabled": {
63
+ color: _apperance.palette.gray.darker
64
+ },
65
+ "&.Mui-error": {
66
+ color: _apperance.palette.error
67
+ }
68
+ },
69
+ "& .MuiInputBase-root": {
70
+ backgroundColor: _apperance.palette.white,
71
+ border: "2px solid ".concat(_apperance.palette.gray.dark),
72
+ borderRadius: "5px",
73
+ "&.Mui-focused ": {
74
+ border: "2px solid ".concat(_apperance.palette.primary)
75
+ },
76
+ "&.Mui-error ": {
77
+ border: "2px solid ".concat(_apperance.palette.error),
78
+ backgroundColor: _apperance.palette.background.error
79
+ },
80
+ "&.Mui-disabled ": {
81
+ backgroundColor: "".concat(_apperance.palette.secondary)
82
+ },
83
+ "& .MuiInputBase-input": {
84
+ padding: "1px 6px",
85
+ fontSize: "0.7rem"
86
+ },
87
+ "& .MuiSvgIcon-root": {
88
+ marginRight: "2px"
89
+ }
90
+ },
91
+ "& .MuiFormHelperText-root": {
92
+ fontWeight: "bold",
93
+ fontSize: ".7rem",
94
+ color: _apperance.palette.gray.darker
95
+ },
96
+ "& fieldset": {
97
+ display: "none"
98
+ }
99
+ }
100
+ };
101
+ });
102
+ const LoadingProgress = () => {
103
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {
104
+ size: 16,
105
+ sx: {
106
+ color: _apperance.palette.primary,
107
+ position: "absolute",
108
+ right: "14px"
109
+ }
110
+ });
111
+ };
112
+ const PuiStandardSelect = _ref => {
113
+ let {
114
+ id,
115
+ className,
116
+ sx,
117
+ name,
118
+ label,
119
+ value,
120
+ error,
121
+ helperText,
122
+ fullWidth,
123
+ disabled,
124
+ focused,
125
+ loading,
126
+ readOnly,
127
+ required,
128
+ options,
129
+ getOptionKey,
130
+ getOptionLabel,
131
+ getOptionValue,
132
+ isOptionEqualToValue,
133
+ onChange
134
+ } = _ref,
135
+ rest = _objectWithoutProperties(_ref, _excluded);
136
+ const selectId = React.useId();
137
+ const [selectedValue, setSelectedValue] = React.useState(value !== null && value !== void 0 ? value : "");
138
+ const changeHandler = (event, option) => {
139
+ setSelectedValue(option.props.value);
140
+ onChange(option.props.value);
141
+ };
142
+ React.useEffect(() => {
143
+ setSelectedValue(value !== null && value !== void 0 ? value : "");
144
+ }, [value]);
145
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledMuiFormControl, {
146
+ fullWidth: fullWidth,
147
+ sx: sx,
148
+ className: "".concat(required ? "required" : "", " ").concat(className),
149
+ focused: focused,
150
+ error: error,
151
+ disabled: disabled || loading,
152
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputLabel, {
153
+ id: selectId,
154
+ required: required,
155
+ children: label
156
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Select, _objectSpread(_objectSpread({
157
+ labelId: selectId,
158
+ id: id,
159
+ label: label,
160
+ onChange: changeHandler,
161
+ value: selectedValue,
162
+ IconComponent: loading ? LoadingProgress : _ArrowDropDown.default,
163
+ inputProps: {
164
+ readOnly,
165
+ name
166
+ },
167
+ MenuProps: {
168
+ sx: {
169
+ "& .MuiMenu-list": {
170
+ padding: 0,
171
+ "& .MuiMenuItem-root:not(:last-child)": {
172
+ borderBottom: "1px solid ".concat(_apperance.palette.gray.light)
173
+ },
174
+ "& .MuiMenuItem-root": {
175
+ fontSize: 13,
176
+ height: "fit-content",
177
+ minHeight: "auto"
178
+ }
179
+ }
180
+ }
181
+ }
182
+ }, rest), {}, {
183
+ children: Boolean(options) && options.map(option => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {
184
+ value: getOptionValue(option),
185
+ children: getOptionLabel(option)
186
+ }, getOptionKey(option)))
187
+ })), Boolean(helperText) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormHelperText, {
188
+ component: "div",
189
+ children: error && Boolean(helperText) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIndication.default, {
190
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIcon.default, {
191
+ type: "danger"
192
+ }),
193
+ color: "error",
194
+ size: "small",
195
+ children: typeof helperText === "object" ? JSON.stringify(helperText) : helperText
196
+ }) : helperText
197
+ })]
198
+ });
199
+ };
200
+ const PuiFormikSelect = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
201
+ let {
202
+ id,
203
+ className,
204
+ sx,
205
+ name,
206
+ label,
207
+ value,
208
+ error,
209
+ helperText,
210
+ fullWidth,
211
+ disabled,
212
+ focused,
213
+ loading,
214
+ readOnly,
215
+ required,
216
+ options,
217
+ getOptionKey,
218
+ getOptionLabel,
219
+ getOptionValue,
220
+ onChange
221
+ } = _ref2,
222
+ rest = _objectWithoutProperties(_ref2, _excluded2);
223
+ const [innerValue, setInnerValue] = React.useState(value);
224
+ const [field, meta] = (0, _formik.useField)(name);
225
+ const [hasError, setHasError] = React.useState(false);
226
+ const formikContext = (0, _formik.useFormikContext)();
227
+ const changeHandler = option => {
228
+ formikContext.setFieldValue(name, option);
229
+ onChange(option);
230
+ };
231
+ React.useEffect(() => {
232
+ setHasError(Boolean(meta) && Boolean(meta.touched) && Boolean(meta.error));
233
+ }, [meta]);
234
+ React.useEffect(() => {
235
+ if (value !== undefined) {
236
+ formikContext.setFieldValue(name, typeof value === "object" ? getOptionValue(value) : value);
237
+ }
238
+ // eslint-disable-next-line react-hooks/exhaustive-deps
239
+ }, [value]);
240
+ React.useEffect(() => {
241
+ setInnerValue(field.value);
242
+ // eslint-disable-next-line react-hooks/exhaustive-deps
243
+ }, [field.value]);
244
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PuiStandardSelect, _objectSpread({
245
+ id: id,
246
+ ref: ref,
247
+ className: className,
248
+ sx: sx,
249
+ name: name,
250
+ label: label,
251
+ value: innerValue,
252
+ error: error || hasError,
253
+ helperText: hasError && Boolean(meta.error) ? meta.error : helperText !== null && helperText !== void 0 ? helperText : "",
254
+ fullWidth: fullWidth,
255
+ disabled: disabled,
256
+ focused: focused,
257
+ loading: loading,
258
+ readOnly: readOnly,
259
+ required: required,
260
+ options: options,
261
+ getOptionKey: getOptionKey,
262
+ getOptionLabel: getOptionLabel,
263
+ getOptionValue: getOptionValue,
264
+ onChange: changeHandler
265
+ }, rest));
266
+ });
267
+ const PuiSelect = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
268
+ let {
269
+ formik,
270
+ id,
271
+ className,
272
+ sx,
273
+ name,
274
+ label,
275
+ value,
276
+ error,
277
+ helperText,
278
+ fullWidth,
279
+ disabled,
280
+ focused,
281
+ loading,
282
+ readOnly,
283
+ required,
284
+ options,
285
+ getOptionKey,
286
+ getOptionLabel,
287
+ getOptionValue,
288
+ onChange
289
+ } = _ref3,
290
+ rest = _objectWithoutProperties(_ref3, _excluded3);
291
+ return /*#__PURE__*/React.createElement(formik ? PuiFormikSelect : PuiStandardSelect, _objectSpread({
292
+ ref,
293
+ id,
294
+ className,
295
+ sx,
296
+ name,
297
+ label,
298
+ value,
299
+ error,
300
+ helperText,
301
+ fullWidth,
302
+ disabled,
303
+ focused,
304
+ loading,
305
+ readOnly,
306
+ required,
307
+ options,
308
+ getOptionKey,
309
+ getOptionLabel,
310
+ getOptionValue,
311
+ onChange
312
+ }, rest));
313
+ });
314
+ PuiSelect.propTypes = {
315
+ id: _propTypes.default.string,
316
+ className: _propTypes.default.string,
317
+ sx: _propTypes.default.object,
318
+ name: _propTypes.default.string,
319
+ label: _propTypes.default.string,
320
+ helperText: _propTypes.default.string,
321
+ formik: _propTypes.default.bool,
322
+ disabled: _propTypes.default.bool,
323
+ required: _propTypes.default.bool,
324
+ error: _propTypes.default.bool,
325
+ focused: _propTypes.default.bool,
326
+ loading: _propTypes.default.bool,
327
+ readOnly: _propTypes.default.bool,
328
+ fullWidth: _propTypes.default.bool,
329
+ options: _propTypes.default.array.isRequired,
330
+ getOptionKey: _propTypes.default.func,
331
+ getOptionValue: _propTypes.default.func,
332
+ getOptionLabel: _propTypes.default.func.isRequired,
333
+ onChange: _propTypes.default.func
334
+ };
335
+ PuiSelect.defaultProps = {
336
+ formik: true,
337
+ disabled: false,
338
+ loading: false,
339
+ required: false,
340
+ error: false,
341
+ fullWidth: true,
342
+ readOnly: false,
343
+ options: [],
344
+ getOptionKey: option => {
345
+ if (typeof option === "object") {
346
+ let key = "";
347
+ Object.keys(option).forEach(optionKey => {
348
+ key += "".concat(key.length === 0 ? "" : "-").concat(String(option[optionKey]));
349
+ });
350
+ return key;
351
+ }
352
+ return option;
353
+ },
354
+ getOptionValue: option => option,
355
+ onChange: () => {}
356
+ };
357
+ var _default = exports.default = PuiSelect;