@portnet/ui 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,16 +3,16 @@
3
3
  require("core-js/modules/es.weak-map.js");
4
4
  require("core-js/modules/esnext.iterator.filter.js");
5
5
  require("core-js/modules/esnext.iterator.for-each.js");
6
+ require("core-js/modules/web.dom-collections.iterator.js");
6
7
  Object.defineProperty(exports, "__esModule", {
7
8
  value: true
8
9
  });
9
10
  exports.default = void 0;
10
11
  require("core-js/modules/esnext.iterator.constructor.js");
11
12
  require("core-js/modules/esnext.iterator.map.js");
12
- require("core-js/modules/web.dom-collections.iterator.js");
13
- var _react = _interopRequireWildcard(require("react"));
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
13
  var _formik = require("formik");
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var React = _interopRequireWildcard(require("react"));
16
16
  var _PuiButton = _interopRequireDefault(require("../../../buttons/PuiButton"));
17
17
  var _PuiFormikForm = _interopRequireDefault(require("../../../others/PuiFormikForm"));
18
18
  var _PuiGrid = _interopRequireDefault(require("../../../others/PuiGrid"));
@@ -20,16 +20,14 @@ var _PuiIcon = _interopRequireDefault(require("../../../others/PuiIcon"));
20
20
  var _PuiSection = _interopRequireDefault(require("../../../others/PuiSection"));
21
21
  var _PuiTable = _interopRequireDefault(require("../../../table/PuiTable"));
22
22
  var _PuiDefaultPage = _interopRequireDefault(require("./PuiDefaultPage"));
23
- var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
24
- var _ExpandLess = _interopRequireDefault(require("@mui/icons-material/ExpandLess"));
25
23
  var _jsxRuntime = require("react/jsx-runtime");
26
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
28
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; }
29
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; }
30
28
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
31
29
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
32
- 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); } // Container for search form and actions
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); }
33
31
  const PuiStandardSearchPageContainer = _ref => {
34
32
  let {
35
33
  actions,
@@ -65,13 +63,8 @@ const PuiSearchPage = _ref2 => {
65
63
  onReset,
66
64
  onSubmit,
67
65
  children: _children,
68
- additionalActions,
69
- collapsibleSearchSection = true // Collapsible by default
66
+ additionalActions
70
67
  } = _ref2;
71
- const [isSearchSectionExpanded, setSearchSectionExpanded] = (0, _react.useState)(false);
72
- const toggleSearchSection = () => {
73
- setSearchSectionExpanded(prev => !prev);
74
- };
75
68
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PuiDefaultPage.default, {
76
69
  title: title,
77
70
  titleIcon: titleIcon,
@@ -83,24 +76,11 @@ const PuiSearchPage = _ref2 => {
83
76
  retour: retour,
84
77
  onRetour: onRetour,
85
78
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiSection.default, {
86
- title: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
87
- onClick: toggleSearchSection,
88
- style: {
89
- display: "flex",
90
- alignItems: "center",
91
- cursor: collapsibleSearchSection ? "pointer" : "default"
92
- },
93
- children: [collapsibleSearchSection && (isSearchSectionExpanded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandLess.default, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandMore.default, {})), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
94
- style: {
95
- marginLeft: collapsibleSearchSection ? "8px" : "0px"
96
- },
97
- children: "Param\xE8tres de recherche"
98
- })]
99
- }),
79
+ title: "Param\xE8tres de recherche",
100
80
  sx: {
101
81
  marginBottom: 2
102
82
  },
103
- children: isSearchSectionExpanded && (formik ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, _objectSpread(_objectSpread({
83
+ children: formik ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, _objectSpread(_objectSpread({
104
84
  initialValues: {}
105
85
  }, formikProps), {}, {
106
86
  children: _ref3 => {
@@ -135,14 +115,16 @@ const PuiSearchPage = _ref2 => {
135
115
  loadingPosition: "start",
136
116
  children: "Rechercher"
137
117
  })
138
- }), additionalActions && additionalActions.map((actionItem, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
139
- item: true,
140
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
141
- startIcon: actionItem.icon,
142
- onClick: actionItem.action,
143
- children: actionItem.name
144
- })
145
- }, index))]
118
+ }), additionalActions && additionalActions.map((actionItem, index) => {
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
120
+ item: true,
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
122
+ startIcon: actionItem.icon,
123
+ onClick: actionItem.action,
124
+ children: actionItem.name
125
+ })
126
+ }, index);
127
+ })]
146
128
  }),
147
129
  children: _children
148
130
  })
@@ -174,22 +156,22 @@ const PuiSearchPage = _ref2 => {
174
156
  loadingPosition: "start",
175
157
  children: "Rechercher"
176
158
  })
177
- }), additionalActions && additionalActions.map((actionItem, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
178
- item: true,
179
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
180
- startIcon: actionItem.icon,
181
- onClick: actionItem.action,
182
- children: actionItem.name
183
- })
184
- }, index))]
159
+ }), additionalActions && additionalActions.map((actionItem, index) => {
160
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
161
+ item: true,
162
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
163
+ startIcon: actionItem.icon,
164
+ onClick: actionItem.action,
165
+ children: actionItem.name
166
+ })
167
+ }, index);
168
+ })]
185
169
  }),
186
170
  children: _children
187
- }))
188
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiTable.default, _objectSpread(_objectSpread({
171
+ })
172
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiTable.default, _objectSpread({
189
173
  paginationMode: "server"
190
- }, tableProps), {}, {
191
- pinnedColumns: tableProps.pinnedColumns // Added pinnedColumns
192
- }))]
174
+ }, tableProps))]
193
175
  });
194
176
  };
195
177
  PuiSearchPage.propTypes = {
@@ -202,9 +184,7 @@ PuiSearchPage.propTypes = {
202
184
  topNav: _propTypes.default.bool,
203
185
  bottomNav: _propTypes.default.bool,
204
186
  loading: _propTypes.default.bool,
205
- tableProps: _propTypes.default.shape({
206
- pinnedColumns: _propTypes.default.object // Added pinnedColumns prop type
207
- }),
187
+ tableProps: _propTypes.default.object,
208
188
  retour: _propTypes.default.bool,
209
189
  onRetour: _propTypes.default.func,
210
190
  onReset: _propTypes.default.func,
@@ -213,13 +193,11 @@ PuiSearchPage.propTypes = {
213
193
  name: _propTypes.default.string.isRequired,
214
194
  action: _propTypes.default.func.isRequired,
215
195
  icon: _propTypes.default.element
216
- })),
217
- collapsibleSearchSection: _propTypes.default.bool
196
+ }))
218
197
  };
219
198
  PuiSearchPage.defaultProps = {
220
199
  formik: true,
221
200
  loading: false,
222
- additionalActions: [],
223
- collapsibleSearchSection: true
201
+ additionalActions: []
224
202
  };
225
203
  var _default = exports.default = PuiSearchPage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portnet/ui",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "Portnet UI",
5
5
  "keywords": [
6
6
  "react",
@@ -21,18 +21,14 @@
21
21
  "@mui/material": "^5.10.16",
22
22
  "@mui/x-data-grid": "^5.17.26",
23
23
  "@mui/x-data-grid-pro": "^5.17.26",
24
- "@mui/x-date-pickers": "^7.26.0",
24
+ "@mui/x-date-pickers": "^5.0.4",
25
25
  "@testing-library/jest-dom": "^5.16.5",
26
26
  "@testing-library/react": "^13.4.0",
27
27
  "@testing-library/user-event": "^13.5.0",
28
- "ajv": "^8.17.1",
29
- "ajv-keywords": "^5.1.0",
30
28
  "axios": "^0.27.2",
31
- "dayjs": "^1.11.13",
32
29
  "formik": "^2.2.9",
33
30
  "lodash": "^4.17.21",
34
31
  "moment": "^2.29.4",
35
- "moment-timezone": "^0.5.45",
36
32
  "react": "^18.2.0",
37
33
  "react-dom": "^18.2.0",
38
34
  "react-scripts": "^5.0.1",
@@ -42,9 +38,6 @@
42
38
  "web-vitals": "^2.1.4",
43
39
  "yup": "^0.32.11"
44
40
  },
45
- "peerDependencies": {
46
- "react-router-dom": "^6.0.0"
47
- },
48
41
  "scripts": {
49
42
  "start": "react-scripts start",
50
43
  "build": "rimraf dist && cross-env NODE_ENV=production babel src/lib --out-dir dist --copy-files",
@@ -95,6 +88,8 @@
95
88
  "@storybook/react": "^7.6.4",
96
89
  "@storybook/react-webpack5": "^7.6.4",
97
90
  "@storybook/testing-library": "^0.2.2",
91
+ "ajv": "^8.17.1",
92
+ "ajv-keywords": "^5.1.0",
98
93
  "cross-env": "^7.0.3",
99
94
  "husky": "^4.3.8",
100
95
  "prop-types": "^15.8.1",
@@ -1,210 +0,0 @@
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
- var _dayjs = _interopRequireDefault(require("dayjs"));
9
- require("dayjs/locale/fr");
10
- var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
11
- var _formik = require("formik");
12
- var _react = _interopRequireDefault(require("react"));
13
- var _xDatePickers = require("@mui/x-date-pickers");
14
- var _AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
15
- var _DateTimePicker = require("@mui/x-date-pickers/DateTimePicker");
16
- var _jsxRuntime = require("react/jsx-runtime");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- _dayjs.default.extend(_utc.default);
19
- _dayjs.default.locale("fr");
20
- const frenchLocaleText = {
21
- cancelButtonLabel: "Annuler",
22
- okButtonLabel: "Appliquer",
23
- toolbarTitle: "Sélectionner la date et l'heure",
24
- todayButtonLabel: "Aujourd’hui",
25
- clockLabelText: "Sélectionnez l’heure",
26
- calendarWeekNumberHeaderLabel: "Semaine",
27
- calendarWeekNumberLabel: "Semaine {weekNumber}"
28
- };
29
- const palette = {
30
- inherit: "inherit",
31
- primary: "#232f66",
32
- secondary: "#e7e7e7",
33
- error: "#d32f2f",
34
- warning: "#FD9727",
35
- success: "#48AC24",
36
- info: "#2278CF",
37
- white: "#FFF",
38
- dark: "#000",
39
- gray: {
40
- darker: "#505050",
41
- dark: "#b6b6b6",
42
- light: "#F1F1F1"
43
- },
44
- background: {
45
- required: "#FFFBE3",
46
- error: "#FFE5E5"
47
- }
48
- };
49
- const textFieldStyles = {
50
- "&.MuiFormControl-root": {
51
- "&.required .MuiInputBase-root": {
52
- backgroundColor: required => required ? palette.background.required : "white"
53
- },
54
- "& .MuiFormLabel-root": {
55
- zIndex: 0,
56
- lineSpacing: "-0.03em",
57
- position: "initial",
58
- transform: "none",
59
- fontSize: "0.8rem",
60
- fontWeight: "600",
61
- marginBottom: "4px",
62
- color: palette.gray.darker,
63
- "&.Mui-focused ": {
64
- color: palette.primary
65
- },
66
- "&.Mui-disabled": {
67
- color: palette.gray.darker
68
- },
69
- "&.Mui-error": {
70
- color: palette.error
71
- }
72
- },
73
- "& .MuiInputBase-root": {
74
- backgroundColor: required => required ? palette.background.required : "white",
75
- border: "2px solid ".concat(palette.gray.dark),
76
- borderRadius: "5px",
77
- "&.MuiInputBase-multiline": {
78
- padding: "8px 0"
79
- },
80
- "&.Mui-focused ": {
81
- border: "2px solid ".concat(palette.primary)
82
- },
83
- "&.Mui-error ": {
84
- border: "2px solid ".concat(palette.error),
85
- backgroundColor: palette.background.error
86
- },
87
- "&.Mui-disabled ": {
88
- "& input": {
89
- color: "".concat(palette.gray.darker),
90
- WebkitTextFillColor: "".concat(palette.gray.darker)
91
- },
92
- backgroundColor: "".concat(palette.secondary)
93
- },
94
- "& .MuiInputBase-input": {
95
- lineHeight: "1",
96
- padding: "1px 6px",
97
- fontSize: "0.7rem"
98
- }
99
- },
100
- "& .MuiFormHelperText-root": {
101
- fontWeight: "bold",
102
- fontSize: ".7rem",
103
- color: "red"
104
- },
105
- "& fieldset": {
106
- display: "none"
107
- }
108
- }
109
- };
110
- const DateTimePickerField = _ref => {
111
- let {
112
- label,
113
- name,
114
- value: propValue,
115
- onChange,
116
- required = true,
117
- error = false,
118
- helperText = null,
119
- fullWidth = true
120
- } = _ref;
121
- const [field, meta, helpers] = (0, _formik.useField)(name || "default");
122
- if (!name) {
123
- console.error("DateTimePickerField requires a `name` prop to work with Formik.");
124
- }
125
- const {
126
- setValue,
127
- setTouched
128
- } = helpers;
129
- const handleChange = newValue => {
130
- setValue(_dayjs.default.utc(newValue).format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"));
131
- if (onChange) {
132
- onChange(_dayjs.default.utc(newValue).format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"));
133
- }
134
- };
135
- const handleBlur = () => {
136
- setTouched(true);
137
- };
138
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDatePickers.LocalizationProvider, {
139
- dateAdapter: _AdapterDayjs.AdapterDayjs,
140
- localeText: frenchLocaleText,
141
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateTimePicker.DateTimePicker, {
142
- label: label,
143
- ampm: false,
144
- value: field.value ? _dayjs.default.utc(field.value) : !!propValue ? _dayjs.default.utc(propValue) : null,
145
- closeOnSelect: false,
146
- onChange: handleChange,
147
- onBlur: handleBlur,
148
- views: ["year", "month", "day", "hours", "minutes"],
149
- timeSteps: {
150
- hours: 1,
151
- minutes: 1,
152
- seconds: 5
153
- },
154
- slotProps: {
155
- textField: {
156
- name: name,
157
- sx: textFieldStyles,
158
- fullWidth: fullWidth,
159
- required: required,
160
- error: Boolean(meta.touched && meta.error || error),
161
- helperText: meta.touched && meta.error ? meta.error : !!helperText ? helperText : ""
162
- },
163
- actionBar: {
164
- actions: ["cancel", "accept"],
165
- sx: {
166
- display: "flex",
167
- justifyContent: "flex-end",
168
- gap: 1,
169
- padding: "8px",
170
- "& .MuiButton-root": {
171
- borderRadius: "4px",
172
- padding: "6px 16px",
173
- textTransform: "none",
174
- fontSize: "0.875rem",
175
- fontWeight: "bold"
176
- },
177
- "& .MuiButton-root:nth-of-type(1)": {
178
- backgroundColor: "white",
179
- color: "".concat(palette.primary, " !important"),
180
- border: "1px solid ".concat(palette.primary, " !important"),
181
- paddingY: 0
182
- },
183
- "& .MuiButton-root:nth-of-type(2)": {
184
- backgroundColor: "".concat(palette.primary, " !important"),
185
- color: "white !important",
186
- border: "1px solid ".concat(palette.primary, " !important"),
187
- paddingY: 0
188
- }
189
- }
190
- },
191
- popper: {
192
- sx: {
193
- "& .MuiPaper-root": {
194
- boxShadow: "none !important",
195
- border: "1px solid #e0e0e0",
196
- backgroundColor: "white"
197
- },
198
- "& .MuiPickersDay-root.Mui-selected": {
199
- backgroundColor: "".concat(palette.primary, " !important")
200
- },
201
- "& .Mui-selected": {
202
- backgroundColor: "".concat(palette.primary, " !important")
203
- }
204
- }
205
- }
206
- }
207
- })
208
- });
209
- };
210
- var _default = exports.default = DateTimePickerField;
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("core-js/modules/esnext.iterator.constructor.js");
8
- require("core-js/modules/esnext.iterator.map.js");
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
- var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
11
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
12
- var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
13
- var _system = require("@mui/system");
14
- var _react = _interopRequireDefault(require("react"));
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- const ActionPopover = _ref => {
18
- let {
19
- row,
20
- actions
21
- } = _ref;
22
- const [anchorEl, setAnchorEl] = _react.default.useState(null);
23
- const handleClick = event => {
24
- setAnchorEl(event.currentTarget);
25
- };
26
- const handleClose = () => {
27
- setAnchorEl(null);
28
- };
29
- const open = Boolean(anchorEl);
30
- const id = open ? 'simple-popover' : undefined;
31
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
32
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
33
- "aria-describedby": id,
34
- onClick: handleClick,
35
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreVert.default, {})
36
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover.default, {
37
- id: id,
38
- open: open,
39
- anchorEl: anchorEl,
40
- onClose: handleClose,
41
- anchorOrigin: {
42
- vertical: 'bottom',
43
- horizontal: 'left'
44
- },
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_system.Box, {
46
- p: 2,
47
- children: actions.map((action, index) => /*#__PURE__*/_react.default.cloneElement(action, {
48
- row,
49
- key: index,
50
- onClick: handleClose // Assuming you want to close the popover when an action is clicked
51
- }))
52
- })
53
- })]
54
- });
55
- };
56
- var _default = exports.default = ActionPopover;