@widergy/energy-ui 3.152.0 → 3.153.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 +7 -0
- package/dist/components/UTPanel/UTPanel.stories.js +103 -1
- package/dist/components/UTPanel/versions/V1/components/AdditionalContentModule/index.js +15 -3
- package/dist/components/UTPanel/versions/V1/components/AdditionalContentModule/styles.module.scss +14 -1
- package/dist/components/UTPanel/versions/V1/components/HeaderSection/index.js +5 -1
- package/dist/components/UTPanel/versions/V1/index.js +4 -0
- package/dist/components/UTPanel/versions/V1/styles.module.scss +5 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [3.153.0](https://github.com/widergy/energy-ui/compare/v3.152.0...v3.153.0) (2026-05-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* [AXCH-1599] task list component related tasks side panel ([#793](https://github.com/widergy/energy-ui/issues/793)) ([ecbf06d](https://github.com/widergy/energy-ui/commit/ecbf06db43aaaa330162153d811fc1ce9c51e246))
|
|
7
|
+
|
|
1
8
|
# [3.152.0](https://github.com/widergy/energy-ui/compare/v3.151.0...v3.152.0) (2026-05-13)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = exports.V1Workflow = exports.V1WithStatus = exports.V1WithPagination = exports.V1WithHeaderItems = exports.V1WithAdditionalContent = exports.V1WithActions = exports.V1LargeSize = exports.V1Inline = exports.V1Default = exports.V1Collapsible = exports.V0WithCustomTitle = exports.V0LeftSide = exports.V0Default = exports.Playground = void 0;
|
|
6
|
+
exports.default = exports.V1Workflow = exports.V1WithStatus = exports.V1WithPretitle = exports.V1WithPagination = exports.V1WithHeaderItems = exports.V1WithAdditionalContentBadge = exports.V1WithAdditionalContent = exports.V1WithActions = exports.V1LargeSize = exports.V1Inline = exports.V1Default = exports.V1Collapsible = exports.V0WithCustomTitle = exports.V0LeftSide = exports.V0Default = exports.Playground = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _utils = require("stories/utils");
|
|
9
9
|
var _UTLabel = _interopRequireDefault(require("../UTLabel"));
|
|
@@ -484,6 +484,18 @@ var _default = exports.default = {
|
|
|
484
484
|
summary: 'elementType'
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
|
+
},
|
|
488
|
+
pretitleComponent: {
|
|
489
|
+
control: false,
|
|
490
|
+
description: '(V1 only) Nodo React renderizado dentro del headerContainer, antes del headerArea. Ocupa el ancho completo del header. Útil para breadcrumbs o labels de contexto sobre el título.',
|
|
491
|
+
table: {
|
|
492
|
+
defaultValue: {
|
|
493
|
+
summary: 'undefined'
|
|
494
|
+
},
|
|
495
|
+
type: {
|
|
496
|
+
summary: 'ReactNode'
|
|
497
|
+
}
|
|
498
|
+
}
|
|
487
499
|
}
|
|
488
500
|
},
|
|
489
501
|
component: _2.default,
|
|
@@ -843,6 +855,96 @@ const V1WithAdditionalContent = exports.V1WithAdditionalContent = {
|
|
|
843
855
|
}
|
|
844
856
|
}
|
|
845
857
|
};
|
|
858
|
+
const V1WithPretitle = exports.V1WithPretitle = {
|
|
859
|
+
args: {
|
|
860
|
+
version: 'V1',
|
|
861
|
+
open: false,
|
|
862
|
+
title: '#4605',
|
|
863
|
+
subtitle: 'Tramite de cuenta',
|
|
864
|
+
panelSide: 'right',
|
|
865
|
+
size: 'M',
|
|
866
|
+
pretitleComponent: /*#__PURE__*/_react.default.createElement("div", {
|
|
867
|
+
style: {
|
|
868
|
+
display: 'inline-flex',
|
|
869
|
+
alignItems: 'baseline'
|
|
870
|
+
}
|
|
871
|
+
}, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
|
|
872
|
+
variant: "body2"
|
|
873
|
+
}, "Pertenece a "), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
|
|
874
|
+
colorTheme: "primary",
|
|
875
|
+
variant: "body2",
|
|
876
|
+
style: {
|
|
877
|
+
cursor: 'pointer',
|
|
878
|
+
textDecoration: 'underline',
|
|
879
|
+
paddingLeft: '8px'
|
|
880
|
+
}
|
|
881
|
+
}, "#4624")),
|
|
882
|
+
children: /*#__PURE__*/_react.default.createElement("div", {
|
|
883
|
+
style: {
|
|
884
|
+
padding: '16px'
|
|
885
|
+
}
|
|
886
|
+
}, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
|
|
887
|
+
variant: "body1"
|
|
888
|
+
}, "Caso hijo con referencia al caso padre. El n\xFAmero clickeable navega al padre."))
|
|
889
|
+
},
|
|
890
|
+
name: 'V1 - Con Pretítulo (parent case)',
|
|
891
|
+
parameters: {
|
|
892
|
+
docs: {
|
|
893
|
+
description: {
|
|
894
|
+
story: 'Usa `pretitleComponent` para mostrar un label de contexto sobre el título, como "Pertenece a #4624". Solo el número es interactivo; el texto plano no lo es.'
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
};
|
|
899
|
+
const V1WithAdditionalContentBadge = exports.V1WithAdditionalContentBadge = {
|
|
900
|
+
args: {
|
|
901
|
+
version: 'V1',
|
|
902
|
+
open: false,
|
|
903
|
+
title: 'Panel con Badge en Sidebar',
|
|
904
|
+
subtitle: 'Íconos con contador',
|
|
905
|
+
panelSide: 'right',
|
|
906
|
+
size: 'M',
|
|
907
|
+
additionalContent: [{
|
|
908
|
+
id: 'tasks',
|
|
909
|
+
Icon: 'IconChecklist',
|
|
910
|
+
count: 6,
|
|
911
|
+
BodyComponent: SettingsBodyComponent,
|
|
912
|
+
tooltipProps: {
|
|
913
|
+
content: 'Tareas relacionadas (6)'
|
|
914
|
+
}
|
|
915
|
+
}, {
|
|
916
|
+
id: 'notifications',
|
|
917
|
+
Icon: 'IconBell',
|
|
918
|
+
count: 0,
|
|
919
|
+
BodyComponent: NotificationsBodyComponent,
|
|
920
|
+
tooltipProps: {
|
|
921
|
+
content: 'Notificaciones'
|
|
922
|
+
}
|
|
923
|
+
}, {
|
|
924
|
+
id: 'help',
|
|
925
|
+
Icon: 'IconHelpCircle',
|
|
926
|
+
BodyComponent: HelpBodyComponent,
|
|
927
|
+
tooltipProps: {
|
|
928
|
+
content: 'Ayuda'
|
|
929
|
+
}
|
|
930
|
+
}],
|
|
931
|
+
children: /*#__PURE__*/_react.default.createElement("div", {
|
|
932
|
+
style: {
|
|
933
|
+
padding: '16px'
|
|
934
|
+
}
|
|
935
|
+
}, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
|
|
936
|
+
variant: "body1"
|
|
937
|
+
}, "El primer \xEDcono muestra un badge con contador (count: 6). El segundo tiene count: 0 y no muestra badge. El tercero no tiene count."))
|
|
938
|
+
},
|
|
939
|
+
name: 'V1 - Sidebar con Badge',
|
|
940
|
+
parameters: {
|
|
941
|
+
docs: {
|
|
942
|
+
description: {
|
|
943
|
+
story: 'Usa la prop `count` en un item de `additionalContent` para mostrar un badge numérico sobre el ícono de la sidebar. Solo se renderiza cuando `count > 0`.'
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
};
|
|
846
948
|
const Playground = exports.Playground = {
|
|
847
949
|
args: {
|
|
848
950
|
version: 'V1',
|
|
@@ -9,6 +9,7 @@ var _propTypes = require("prop-types");
|
|
|
9
9
|
require("react-perfect-scrollbar/dist/css/styles.css");
|
|
10
10
|
var _reactPerfectScrollbar = _interopRequireDefault(require("react-perfect-scrollbar"));
|
|
11
11
|
var _UTButton = _interopRequireDefault(require("../../../../../UTButton"));
|
|
12
|
+
var _UTStatus = _interopRequireDefault(require("../../../../../UTStatus"));
|
|
12
13
|
var _UTTooltip = _interopRequireDefault(require("../../../../../UTTooltip"));
|
|
13
14
|
var _testIds = require("../../../../../../constants/testIds");
|
|
14
15
|
var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
|
|
@@ -66,21 +67,32 @@ const AdditionalContentModule = _ref => {
|
|
|
66
67
|
...rest
|
|
67
68
|
} = _ref2;
|
|
68
69
|
return rest;
|
|
69
|
-
})(item.tooltipProps)), /*#__PURE__*/_react.default.createElement("div",
|
|
70
|
+
})(item.tooltipProps)), /*#__PURE__*/_react.default.createElement("div", {
|
|
71
|
+
className: _stylesModule.default.buttonWrapper
|
|
72
|
+
}, /*#__PURE__*/_react.default.createElement(_UTButton.default, {
|
|
70
73
|
colorTheme: activeId === item.id ? 'primary' : 'gray',
|
|
71
|
-
className:
|
|
74
|
+
className: _stylesModule.default.sidebarButton,
|
|
72
75
|
dataTestId: "".concat(panel.additionalContent.sidebarButton).concat(item.id),
|
|
73
76
|
Icon: item.Icon,
|
|
74
77
|
onClick: () => onSelectItem(activeId === item.id ? null : item.id),
|
|
75
78
|
size: "medium",
|
|
76
79
|
variant: activeId === item.id ? 'semitransparent' : 'text'
|
|
77
|
-
})
|
|
80
|
+
}), item.count > 0 && /*#__PURE__*/_react.default.createElement(_UTStatus.default, {
|
|
81
|
+
area: true,
|
|
82
|
+
areaType: "ROUNDED",
|
|
83
|
+
className: _stylesModule.default.countBadge,
|
|
84
|
+
size: "xsmall",
|
|
85
|
+
type: "negative",
|
|
86
|
+
variant: "accent",
|
|
87
|
+
withoutIcon: true
|
|
88
|
+
}, item.count))));
|
|
78
89
|
})))));
|
|
79
90
|
};
|
|
80
91
|
AdditionalContentModule.propTypes = {
|
|
81
92
|
additionalContent: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
|
|
82
93
|
id: _propTypes.string.isRequired,
|
|
83
94
|
Icon: _propTypes.string.isRequired,
|
|
95
|
+
count: _propTypes.number,
|
|
84
96
|
BodyComponent: _propTypes.elementType.isRequired,
|
|
85
97
|
tooltipProps: _propTypes.object.isRequired
|
|
86
98
|
})).isRequired,
|
package/dist/components/UTPanel/versions/V1/components/AdditionalContentModule/styles.module.scss
CHANGED
|
@@ -26,7 +26,7 @@ $sidebar-width: 56px;
|
|
|
26
26
|
min-width: $body-component-width;
|
|
27
27
|
opacity: 1;
|
|
28
28
|
overflow: hidden;
|
|
29
|
-
padding: 16px;
|
|
29
|
+
padding: 24px 24px 16px 24px;
|
|
30
30
|
width: $body-component-width;
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -74,6 +74,10 @@ $sidebar-width: 56px;
|
|
|
74
74
|
padding: 0 8px;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
.buttonWrapper {
|
|
78
|
+
position: relative;
|
|
79
|
+
}
|
|
80
|
+
|
|
77
81
|
.sidebarButton {
|
|
78
82
|
align-items: center;
|
|
79
83
|
border-radius: 4px;
|
|
@@ -83,3 +87,12 @@ $sidebar-width: 56px;
|
|
|
83
87
|
transition: all 0.2s ease;
|
|
84
88
|
width: 40px;
|
|
85
89
|
}
|
|
90
|
+
|
|
91
|
+
.countBadge {
|
|
92
|
+
padding: 0 6px;
|
|
93
|
+
background-color: var(--actionAccent05) !important;
|
|
94
|
+
pointer-events: none;
|
|
95
|
+
position: absolute;
|
|
96
|
+
right: -4px;
|
|
97
|
+
top: -4px;
|
|
98
|
+
}
|
|
@@ -28,6 +28,7 @@ const HeaderSection = _ref => {
|
|
|
28
28
|
headerSecondaryActionButton,
|
|
29
29
|
hideHeader,
|
|
30
30
|
mainActionDataTestId,
|
|
31
|
+
pretitleComponent,
|
|
31
32
|
secondaryActionDataTestId,
|
|
32
33
|
showMainStatus,
|
|
33
34
|
showTag,
|
|
@@ -50,7 +51,9 @@ const HeaderSection = _ref => {
|
|
|
50
51
|
}
|
|
51
52
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
52
53
|
className: "".concat(_stylesModule.default.headerContainer, " ").concat((classes === null || classes === void 0 ? void 0 : classes.headerContainer) || '')
|
|
53
|
-
},
|
|
54
|
+
}, pretitleComponent && /*#__PURE__*/_react.default.createElement("div", {
|
|
55
|
+
className: _stylesModule.default.pretitleArea
|
|
56
|
+
}, pretitleComponent), HeaderComponent || /*#__PURE__*/_react.default.createElement("div", {
|
|
54
57
|
className: _stylesModule.default.headerArea
|
|
55
58
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
56
59
|
className: _stylesModule.default.headerLeftArea
|
|
@@ -107,6 +110,7 @@ HeaderSection.propTypes = {
|
|
|
107
110
|
headerSecondaryActionButton: (0, _propTypes.oneOfType)([_propTypes.object, (0, _propTypes.arrayOf)(_propTypes.object)]),
|
|
108
111
|
hideHeader: _propTypes.bool,
|
|
109
112
|
mainActionDataTestId: _propTypes.string,
|
|
113
|
+
pretitleComponent: (0, _propTypes.oneOfType)([_propTypes.element, _propTypes.elementType]),
|
|
110
114
|
secondaryActionDataTestId: _propTypes.string,
|
|
111
115
|
showMainStatus: _propTypes.bool,
|
|
112
116
|
showTag: _propTypes.bool,
|
|
@@ -59,6 +59,7 @@ const UTPanel = _ref => {
|
|
|
59
59
|
paginationProps = {},
|
|
60
60
|
panelSide,
|
|
61
61
|
perfectScrollbarOptions,
|
|
62
|
+
pretitleComponent,
|
|
62
63
|
secondaryActionDataTestId = panel.secondaryAction,
|
|
63
64
|
showBackButton = false,
|
|
64
65
|
showMainStatus = false,
|
|
@@ -164,6 +165,7 @@ const UTPanel = _ref => {
|
|
|
164
165
|
headerSecondaryActionButton: headerSecondaryActionButton,
|
|
165
166
|
hideHeader: hideHeader,
|
|
166
167
|
mainActionDataTestId: mainActionDataTestId,
|
|
168
|
+
pretitleComponent: pretitleComponent,
|
|
167
169
|
secondaryActionDataTestId: secondaryActionDataTestId,
|
|
168
170
|
showMainStatus: showMainStatus,
|
|
169
171
|
showTag: showTag,
|
|
@@ -193,6 +195,7 @@ UTPanel.propTypes = {
|
|
|
193
195
|
additionalContent: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
|
|
194
196
|
id: _propTypes.string.isRequired,
|
|
195
197
|
Icon: _propTypes.string.isRequired,
|
|
198
|
+
count: _propTypes.number,
|
|
196
199
|
BodyComponent: _propTypes.elementType.isRequired,
|
|
197
200
|
tooltipProps: _propTypes.object.isRequired
|
|
198
201
|
})),
|
|
@@ -239,6 +242,7 @@ UTPanel.propTypes = {
|
|
|
239
242
|
open: _propTypes.bool,
|
|
240
243
|
panelSide: _propTypes.string,
|
|
241
244
|
perfectScrollbarOptions: _propTypes.object,
|
|
245
|
+
pretitleComponent: (0, _propTypes.oneOfType)([_propTypes.element, _propTypes.elementType]),
|
|
242
246
|
secondaryActionDataTestId: _propTypes.string,
|
|
243
247
|
singleHeaderItemsColumn: _propTypes.bool,
|
|
244
248
|
size: (0, _propTypes.oneOf)(Object.keys(_constants.SIZES)),
|