@widergy/energy-ui 3.82.2 → 3.83.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [3.83.0](https://github.com/widergy/energy-ui/compare/v3.82.2...v3.83.0) (2025-06-19)
2
+
3
+
4
+ ### Features
5
+
6
+ * [AGCE-760] panel update ([#629](https://github.com/widergy/energy-ui/issues/629)) ([682b88c](https://github.com/widergy/energy-ui/commit/682b88c1d711a95e2cf8b47865761b93855a0b5c))
7
+
1
8
  ## [3.82.2](https://github.com/widergy/energy-ui/compare/v3.82.1...v3.82.2) (2025-06-18)
2
9
 
3
10
 
@@ -20,6 +20,7 @@ const baseButtonTheme = () => ({
20
20
  alignItems: 'center',
21
21
  borderRadius: '100px',
22
22
  display: 'inline-flex',
23
+ flexShrink: 0,
23
24
  height: 'fit-content',
24
25
  justifyContent: 'center',
25
26
  minHeight: '10px',
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.SIZES = exports.MENU_LABEL = exports.ACCEPT_BUTTON_TEXT = void 0;
7
7
  const SIZES = exports.SIZES = {
8
8
  L: 'large',
9
- M: 'medium'
9
+ M: 'medium',
10
+ S: 'small'
10
11
  };
11
12
  const ACCEPT_BUTTON_TEXT = exports.ACCEPT_BUTTON_TEXT = 'Aceptar';
12
13
  const MENU_LABEL = exports.MENU_LABEL = 'Más';
@@ -36,6 +36,7 @@ const UTPanel = _ref => {
36
36
  classNames,
37
37
  closeButtonDataTestId = panel.closeButton,
38
38
  collapsableHeader = false,
39
+ collapsablePanel = false,
39
40
  currentStep = 1,
40
41
  disableScrollbar = false,
41
42
  HeaderComponent,
@@ -45,6 +46,7 @@ const UTPanel = _ref => {
45
46
  hideCloseButton = false,
46
47
  hideHeader = false,
47
48
  hideMainButton = false,
49
+ inline = false,
48
50
  isWorkflow = false,
49
51
  mainActionDataTestId = panel.mainAction,
50
52
  mainButton = {},
@@ -71,6 +73,8 @@ const UTPanel = _ref => {
71
73
  const openMenu = event => setAnchor(event.currentTarget);
72
74
  const closeMenu = () => setAnchor();
73
75
  const secondaryActionAsMenu = (0, _isArray.default)(headerSecondaryActionButton);
76
+ const panelIsCollapsible = collapsablePanel && inline;
77
+ const panelIsCollapsed = panelIsCollapsible && !open;
74
78
  const {
75
79
  closeButton: closeButtonClass,
76
80
  headerContainer: headerContainerClass,
@@ -81,38 +85,41 @@ const UTPanel = _ref => {
81
85
  } = classes;
82
86
  return /*#__PURE__*/_react.default.createElement(_SwipeableDrawer.default, _extends({
83
87
  anchor: panelSide,
88
+ BackdropProps: {
89
+ ...BackdropProps,
90
+ classes: {
91
+ root: drawerClasses.backdrop,
92
+ ...(BackdropProps === null || BackdropProps === void 0 ? void 0 : BackdropProps.classes)
93
+ }
94
+ },
84
95
  classes: {
85
96
  ...drawerClasses,
86
- paper: "".concat(_stylesModule.default.paper, " ").concat(drawerClasses.paper, " ").concat(_stylesModule.default[_constants.SIZES[size]]),
87
- root: drawerClasses.root
97
+ paper: "\n ".concat(_stylesModule.default.paper, "\n ").concat(panelIsCollapsible && open && _stylesModule.default.collapsedPaper, "\n ").concat(drawerClasses.paper, "\n ").concat(_stylesModule.default[_constants.SIZES[size]], "\n "),
98
+ root: drawerClasses.root,
99
+ docked: "\n ".concat(_stylesModule.default[_constants.SIZES[size]], "\n ").concat(_stylesModule.default.docked, "\n ").concat(panelIsCollapsed && _stylesModule.default.collapsed, "\n ").concat(!open && !collapsablePanel && _stylesModule.default.closedPersistentPanel, "\n ")
88
100
  },
101
+ disablePortal: inline,
89
102
  disableSwipeToOpen: true,
90
103
  ModalProps: {
91
104
  ...modalProps
92
105
  },
93
106
  onClose: onClose,
94
107
  onOpen: onOpen,
95
- open: open,
108
+ open: panelIsCollapsible || open,
96
109
  swipeAreaWidth: 0,
97
- BackdropProps: {
98
- ...BackdropProps,
99
- classes: {
100
- root: drawerClasses.backdrop,
101
- ...(BackdropProps === null || BackdropProps === void 0 ? void 0 : BackdropProps.classes)
102
- }
103
- }
104
- }, props), /*#__PURE__*/_react.default.createElement("div", {
110
+ variant: inline ? collapsablePanel ? 'permanent' : 'persistent' : 'temporary'
111
+ }, props), (!hideCloseButton || isWorkflow || panelIsCollapsible) && /*#__PURE__*/_react.default.createElement("div", {
105
112
  className: _stylesModule.default.controlAreaContainer
106
113
  }, /*#__PURE__*/_react.default.createElement("div", {
107
114
  className: _stylesModule.default.controlAreaBar
108
- }, !hideCloseButton && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
115
+ }, (panelIsCollapsible || !hideCloseButton) && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
109
116
  classNames: {
110
117
  icon: iconCloseClass,
111
118
  root: closeButtonClass
112
119
  },
113
120
  dataTestId: closeButtonDataTestId,
114
- Icon: "IconX",
115
- onClick: onClose,
121
+ Icon: panelIsCollapsible ? 'IconLayoutSidebarRight' : 'IconX',
122
+ onClick: panelIsCollapsible && !open ? onOpen : onClose,
116
123
  variant: "text"
117
124
  })), isWorkflow && /*#__PURE__*/_react.default.createElement(_index.default, {
118
125
  classNames: {
@@ -121,7 +128,7 @@ const UTPanel = _ref => {
121
128
  colorPrimary: classes.colorPrimary
122
129
  },
123
130
  value: currentStep * 100 / stepsCount
124
- })), !hideHeader && /*#__PURE__*/_react.default.createElement("div", {
131
+ })), !hideHeader && !panelIsCollapsed && /*#__PURE__*/_react.default.createElement("div", {
125
132
  className: "".concat(_stylesModule.default.headerContainer, " ").concat(headerContainerClass)
126
133
  }, HeaderComponent || /*#__PURE__*/_react.default.createElement("div", {
127
134
  className: _stylesModule.default.headerArea
@@ -162,10 +169,10 @@ const UTPanel = _ref => {
162
169
  colorTheme: "success",
163
170
  dataTestId: mainActionDataTestId,
164
171
  variant: "filled"
165
- }, headerMainActionButton), headerMainActionButton.text)))), !(0, _isEmpty.default)(headerItems) && /*#__PURE__*/_react.default.createElement("div", {
172
+ }, headerMainActionButton), headerMainActionButton.text)))), !(0, _isEmpty.default)(headerItems) && !panelIsCollapsed && /*#__PURE__*/_react.default.createElement("div", {
166
173
  className: "".concat(_stylesModule.default.headerItemsContainer, " \n ").concat(collapseHeader ? _stylesModule.default.expandedContainer : _stylesModule.default.collapsedContainer, " \n ").concat(singleHeaderItemsColumn && _stylesModule.default.singleHeaderItemsColumn || '')
167
- }, headerItems.map(_DataItem.default)), /*#__PURE__*/_react.default.createElement("div", {
168
- className: "".concat(_stylesModule.default.bodyContainer, " ").concat(!hideMainButton && _stylesModule.default.bodyOffset, " ").concat(classes.bodyContainer)
174
+ }, headerItems.map(_DataItem.default)), !panelIsCollapsed && /*#__PURE__*/_react.default.createElement("div", {
175
+ className: "".concat(_stylesModule.default.bodyContainer, " ").concat(inline && _stylesModule.default.inlineBodyContainer, " ").concat(!hideMainButton && _stylesModule.default.bodyOffset, " ").concat(classes.bodyContainer)
169
176
  }, disableScrollbar ? children : /*#__PURE__*/_react.default.createElement(_reactPerfectScrollbar.default, {
170
177
  className: "".concat(_stylesModule.default.perfectScrollbar, " ").concat(perfectScrollbarClass),
171
178
  onYReachEnd: onEndReachedCallback,
@@ -173,7 +180,7 @@ const UTPanel = _ref => {
173
180
  suppressScrollX: true,
174
181
  ...perfectScrollbarOptions
175
182
  }
176
- }, children)), !hideMainButton && /*#__PURE__*/_react.default.createElement(_UTButton.default, _extends({
183
+ }, children)), !hideMainButton && !panelIsCollapsed && /*#__PURE__*/_react.default.createElement(_UTButton.default, _extends({
177
184
  classNames: {
178
185
  root: _stylesModule.default.mainButton
179
186
  },
@@ -186,6 +193,7 @@ UTPanel.propTypes = {
186
193
  classNames: _propTypes.object,
187
194
  closeButtonDataTestId: _propTypes.string,
188
195
  collapsableHeader: _propTypes.bool,
196
+ collapsablePanel: _propTypes.bool,
189
197
  currentStep: _propTypes.number,
190
198
  disableScrollbar: _propTypes.bool,
191
199
  HeaderComponent: (0, _propTypes.oneOfType)([_propTypes.element, _propTypes.elementType]),
@@ -209,6 +217,7 @@ UTPanel.propTypes = {
209
217
  hideCloseButton: _propTypes.bool,
210
218
  hideHeader: _propTypes.bool,
211
219
  hideMainButton: _propTypes.bool,
220
+ inline: _propTypes.bool,
212
221
  isWorkflow: _propTypes.bool,
213
222
  mainActionDataTestId: _propTypes.string,
214
223
  mainButton: _propTypes.object,
@@ -221,7 +230,7 @@ UTPanel.propTypes = {
221
230
  perfectScrollbarOptions: _propTypes.object,
222
231
  secondaryActionDataTestId: _propTypes.string,
223
232
  singleHeaderItemsColumn: _propTypes.bool,
224
- size: _propTypes.string,
233
+ size: (0, _propTypes.oneOf)(Object.keys(_constants.SIZES)),
225
234
  stepsCount: _propTypes.number,
226
235
  subtitle: _propTypes.string,
227
236
  title: _propTypes.string,
@@ -1,10 +1,11 @@
1
1
  $large-panel-size: 600px;
2
2
  $medium-panel-size: 450px;
3
+ $small-panel-size: 300px;
4
+ $collapsed-panel-size: 58px;
3
5
 
4
6
  .paper {
5
7
  display: flex;
6
8
  height: 100%;
7
- position: absolute;
8
9
  }
9
10
 
10
11
  .controlAreaBar {
@@ -77,6 +78,10 @@ $medium-panel-size: 450px;
77
78
  margin-top: -16px;
78
79
  }
79
80
 
81
+ .small {
82
+ width: $small-panel-size;
83
+ }
84
+
80
85
  .large {
81
86
  width: $large-panel-size;
82
87
  }
@@ -115,3 +120,42 @@ $medium-panel-size: 450px;
115
120
  position: fixed;
116
121
  width: inherit;
117
122
  }
123
+
124
+ .docked {
125
+ height: 100%;
126
+ overflow: hidden;
127
+ position: relative;
128
+ transition: width 0.3s ease;
129
+
130
+ .bodyContainer {
131
+ overflow: hidden;
132
+ }
133
+
134
+ .paper {
135
+ overflow: hidden;
136
+ position: relative;
137
+ z-index: 1;
138
+ }
139
+
140
+ .mainButton {
141
+ position: sticky;
142
+ }
143
+ }
144
+
145
+ .closedPersistentPanel {
146
+ width: 0;
147
+ }
148
+
149
+ .collapsed {
150
+ width: $collapsed-panel-size;
151
+
152
+ .small,
153
+ .medium,
154
+ .large {
155
+ width: $collapsed-panel-size;
156
+ }
157
+ }
158
+
159
+ .collapsedPaper {
160
+ transition: width 0.3s ease;
161
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@widergy/energy-ui",
3
- "version": "3.82.2",
3
+ "version": "3.83.0",
4
4
  "description": "Widergy Web Components",
5
5
  "author": "widergy",
6
6
  "license": "MIT",