carbon-addons-iot-react 2.152.0-next.13 → 2.152.0-next.15
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 +34 -0
- package/css/carbon-addons-iot-react.css +8 -3
- package/css/carbon-addons-iot-react.css.map +1 -1
- package/es/components/BarChartCard/barChartUtils.js +2 -2
- package/es/components/Card/CardTitle.js +8 -2
- package/es/components/DateTimePicker/DateTimePickerV2WithTimeSpinner.js +3 -3
- package/es/components/DateTimePicker/DateTimePickerV2WithoutTimeSpinner.js +3 -3
- package/es/components/SuiteHeader/IdleLogoutConfirmationModal/IdleLogoutConfirmationModal.js +77 -4
- package/es/components/SuiteHeader/SuiteHeader.js +26 -3
- package/es/components/SuiteHeader/hooks/useUiResources.js +4 -1
- package/es/components/SuiteHeader/util/uiresources.js +5 -4
- package/es/components/Table/Table.js +7 -17
- package/es/components/Table/TableBody/TableBody.js +5 -16
- package/es/components/Table/TableBody/TableBodyRow/TableBodyRow.js +9 -20
- package/es/components/Table/TableBody/TableBodyRowRenderer.js +5 -16
- package/es/components/Table/TableCellRenderer/TableCellRenderer.js +6 -17
- package/es/components/Table/TableHead/TableHead.js +4 -15
- package/es/constants/SharedPropTypes.js +2 -1
- package/es/hooks/usePopoverPositioning.js +53 -11
- package/lib/components/BarChartCard/barChartUtils.js +2 -2
- package/lib/components/Card/CardTitle.js +8 -2
- package/lib/components/DateTimePicker/DateTimePickerV2WithTimeSpinner.js +3 -3
- package/lib/components/DateTimePicker/DateTimePickerV2WithoutTimeSpinner.js +3 -3
- package/lib/components/SuiteHeader/IdleLogoutConfirmationModal/IdleLogoutConfirmationModal.js +77 -4
- package/lib/components/SuiteHeader/SuiteHeader.js +26 -3
- package/lib/components/SuiteHeader/hooks/useUiResources.js +4 -1
- package/lib/components/SuiteHeader/util/uiresources.js +5 -4
- package/lib/components/Table/Table.js +7 -17
- package/lib/components/Table/TableBody/TableBody.js +5 -16
- package/lib/components/Table/TableBody/TableBodyRow/TableBodyRow.js +9 -20
- package/lib/components/Table/TableBody/TableBodyRowRenderer.js +5 -16
- package/lib/components/Table/TableCellRenderer/TableCellRenderer.js +6 -17
- package/lib/components/Table/TableHead/TableHead.js +4 -15
- package/lib/constants/SharedPropTypes.js +2 -0
- package/lib/css/carbon-addons-iot-react.css +8 -3
- package/lib/css/carbon-addons-iot-react.css.map +1 -1
- package/lib/hooks/usePopoverPositioning.js +53 -11
- package/lib/scss/components/DateTimePicker/_date-time-pickerv2.scss +4 -4
- package/lib/scss/components/Table/_table.scss +5 -0
- package/package.json +4 -3
- package/scss/components/DateTimePicker/_date-time-pickerv2.scss +4 -4
- package/scss/components/Table/_table.scss +5 -0
- package/umd/carbon-addons-iot-react.js +212 -134
|
@@ -76,6 +76,36 @@ var isOffscreen = function isOffscreen(menuBody, menuDirection, menuButton
|
|
|
76
76
|
var L = offLeft ? 'left' : '';
|
|
77
77
|
return [T, R, B, L].filter(Boolean).join('-');
|
|
78
78
|
};
|
|
79
|
+
/**
|
|
80
|
+
* This is used as the callback for menuOffset ONLY on Tooltips. It's needed due to
|
|
81
|
+
* truncation that might happen on Tooltip trigger, therefore we need to consider
|
|
82
|
+
* right position of the trigger as well. This function is used as an enhancement for
|
|
83
|
+
* the isOffscreen method.
|
|
84
|
+
*
|
|
85
|
+
* @param {HTMLElement} menuBody The underlying carbon FloatingMenu element
|
|
86
|
+
* @param {string} menuDirection The direction prop
|
|
87
|
+
* @param {HTMLElement} menuButton The button triggering the menu
|
|
88
|
+
* @returns {string} 'start', 'center' or 'end'
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
var getTooltipAlignment = function getTooltipAlignment(menuBody, menuDirection, menuButton) {
|
|
93
|
+
var buttonRect = menuButton.getBoundingClientRect();
|
|
94
|
+
var tooltipRect = menuBody.getBoundingClientRect();
|
|
95
|
+
var windowWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
96
|
+
var triggerCenter = (buttonRect.left + buttonRect.right) / 2;
|
|
97
|
+
var tooltipCenter = tooltipRect.width / 2;
|
|
98
|
+
|
|
99
|
+
if (triggerCenter - tooltipCenter < 0) {
|
|
100
|
+
return 'start';
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (triggerCenter + tooltipCenter > windowWidth) {
|
|
104
|
+
return 'end';
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return 'center';
|
|
108
|
+
};
|
|
79
109
|
/**
|
|
80
110
|
* Given a subset of props from the Tooltip, OverflowMenu, or FlyoutMenu. This hook returns a decorator
|
|
81
111
|
* function around the original menuOffset function. It determines if the element overflows using that
|
|
@@ -93,22 +123,29 @@ var usePopoverPositioning = function usePopoverPositioning(_ref) {
|
|
|
93
123
|
_ref$isOverflowMenu = _ref.isOverflowMenu,
|
|
94
124
|
isOverflowMenu = _ref$isOverflowMenu === void 0 ? false : _ref$isOverflowMenu,
|
|
95
125
|
_ref$useAutoPositioni = _ref.useAutoPositioning,
|
|
96
|
-
useAutoPositioning = _ref$useAutoPositioni === void 0 ? true : _ref$useAutoPositioni
|
|
126
|
+
useAutoPositioning = _ref$useAutoPositioni === void 0 ? true : _ref$useAutoPositioni,
|
|
127
|
+
_ref$defaultAlignment = _ref.defaultAlignment,
|
|
128
|
+
defaultAlignment = _ref$defaultAlignment === void 0 ? 'center' : _ref$defaultAlignment;
|
|
97
129
|
|
|
98
130
|
var _React$useState = React__namespace.useState(),
|
|
99
131
|
_React$useState2 = _slicedToArray__default['default'](_React$useState, 2),
|
|
100
132
|
adjustedDirection = _React$useState2[0],
|
|
101
133
|
setAdjustedDirection = _React$useState2[1];
|
|
102
134
|
|
|
103
|
-
var _React$useState3 = React__namespace.useState(),
|
|
135
|
+
var _React$useState3 = React__namespace.useState(defaultAlignment),
|
|
104
136
|
_React$useState4 = _slicedToArray__default['default'](_React$useState3, 2),
|
|
105
|
-
|
|
106
|
-
|
|
137
|
+
adjustedAlignment = _React$useState4[0],
|
|
138
|
+
setAdjustedAlignment = _React$useState4[1];
|
|
107
139
|
|
|
108
|
-
var _React$useState5 = React__namespace.useState(
|
|
140
|
+
var _React$useState5 = React__namespace.useState(),
|
|
109
141
|
_React$useState6 = _slicedToArray__default['default'](_React$useState5, 2),
|
|
110
|
-
|
|
111
|
-
|
|
142
|
+
adjustedFlipped = _React$useState6[0],
|
|
143
|
+
setAdjustedFlipped = _React$useState6[1];
|
|
144
|
+
|
|
145
|
+
var _React$useState7 = React__namespace.useState({}),
|
|
146
|
+
_React$useState8 = _slicedToArray__default['default'](_React$useState7, 2),
|
|
147
|
+
flyoutAlignment = _React$useState8[0].flyoutAlignment,
|
|
148
|
+
setDirections = _React$useState8[1];
|
|
112
149
|
|
|
113
150
|
var previousDirection = React__namespace.useRef();
|
|
114
151
|
var langDir = useLangDirection.useLangDirection();
|
|
@@ -206,10 +243,12 @@ var usePopoverPositioning = function usePopoverPositioning(_ref) {
|
|
|
206
243
|
* be adjusted to `right-start`.
|
|
207
244
|
*/
|
|
208
245
|
|
|
209
|
-
var fixOverflow = React__namespace.useCallback(function (overflow, menuOffsetArgs) {
|
|
246
|
+
var fixOverflow = React__namespace.useCallback(function (overflow, menuOffsetArgs, alignment) {
|
|
210
247
|
var _menuOffsetArgs = _slicedToArray__default['default'](menuOffsetArgs, 1),
|
|
211
248
|
tooltipElement = _menuOffsetArgs[0];
|
|
212
249
|
|
|
250
|
+
setAdjustedAlignment(alignment);
|
|
251
|
+
|
|
213
252
|
switch (overflow) {
|
|
214
253
|
case 'top':
|
|
215
254
|
if (flyoutAlignment) {
|
|
@@ -336,7 +375,9 @@ var usePopoverPositioning = function usePopoverPositioning(_ref) {
|
|
|
336
375
|
} // determine if the element is off-screen.
|
|
337
376
|
|
|
338
377
|
|
|
339
|
-
var overflow = isOffscreen.apply(void 0, args.concat([defaultOffset])); // if
|
|
378
|
+
var overflow = isOffscreen.apply(void 0, args.concat([defaultOffset])); // determine if the element has new alignment
|
|
379
|
+
|
|
380
|
+
var alignment = getTooltipAlignment.apply(void 0, args); // if it's offscreen in a direction we can fix, do so
|
|
340
381
|
// otherwise leave it be. ie. 'top-left' is fixable, but
|
|
341
382
|
// a large element with 'top-right-left' wouldn't be.
|
|
342
383
|
|
|
@@ -349,7 +390,7 @@ var usePopoverPositioning = function usePopoverPositioning(_ref) {
|
|
|
349
390
|
case 'right':
|
|
350
391
|
case 'bottom':
|
|
351
392
|
case 'left':
|
|
352
|
-
return fixOverflow(overflow, [].concat(args));
|
|
393
|
+
return fixOverflow(overflow, [].concat(args), alignment);
|
|
353
394
|
|
|
354
395
|
default:
|
|
355
396
|
return defaultOffset;
|
|
@@ -363,7 +404,8 @@ var usePopoverPositioning = function usePopoverPositioning(_ref) {
|
|
|
363
404
|
|
|
364
405
|
return [calculateMenuOffset, {
|
|
365
406
|
adjustedDirection: adjustedDirection,
|
|
366
|
-
adjustedFlipped: adjustedFlipped
|
|
407
|
+
adjustedFlipped: adjustedFlipped,
|
|
408
|
+
adjustedAlignment: adjustedAlignment
|
|
367
409
|
}];
|
|
368
410
|
};
|
|
369
411
|
|
|
@@ -101,10 +101,6 @@
|
|
|
101
101
|
background-color: $field-02;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
.#{$iot-prefix}--date-time-picker__box--invalid {
|
|
105
|
-
outline: 2px solid $danger-01;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
104
|
.#{$iot-prefix}--date-time-picker__box--disabled {
|
|
109
105
|
border: none;
|
|
110
106
|
}
|
|
@@ -118,6 +114,10 @@
|
|
|
118
114
|
pointer-events: none;
|
|
119
115
|
}
|
|
120
116
|
|
|
117
|
+
.#{$iot-prefix}--date-time-pickerv2__wrapper--invalid {
|
|
118
|
+
outline: 2px solid $danger-01;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
121
|
// open menu content
|
|
122
122
|
.#{$iot-prefix}--flyout-menu--content.#{$iot-prefix}--date-time-picker--menu {
|
|
123
123
|
--zIndex: 0;
|
|
@@ -195,6 +195,11 @@ button.#{$prefix}--btn.#{$iot-prefix}--tooltip-svg-wrapper.#{$prefix}--btn--ghos
|
|
|
195
195
|
left: unset;
|
|
196
196
|
right: var(--row-nesting-offset);
|
|
197
197
|
}
|
|
198
|
+
|
|
199
|
+
&__expand {
|
|
200
|
+
left: unset;
|
|
201
|
+
margin-left: var(--row-nesting-offset);
|
|
202
|
+
}
|
|
198
203
|
}
|
|
199
204
|
|
|
200
205
|
.#{$iot-prefix}--expanded-tablerow {
|
package/package.json
CHANGED
|
@@ -340,10 +340,11 @@
|
|
|
340
340
|
"whatwg-fetch": "^3.0.0"
|
|
341
341
|
},
|
|
342
342
|
"sideEffects": false,
|
|
343
|
-
"version": "2.152.0-next.
|
|
343
|
+
"version": "2.152.0-next.15",
|
|
344
344
|
"resolutions": {
|
|
345
345
|
"chokidar": "3.3.1",
|
|
346
|
-
"react-grid-layout": "1.2.2"
|
|
346
|
+
"react-grid-layout": "1.2.2",
|
|
347
|
+
"got": "11.8.5"
|
|
347
348
|
},
|
|
348
|
-
"gitHead": "
|
|
349
|
+
"gitHead": "9837b38fd9d3f1400d5da9f40126c1c85a153a53"
|
|
349
350
|
}
|
|
@@ -101,10 +101,6 @@
|
|
|
101
101
|
background-color: $field-02;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
.#{$iot-prefix}--date-time-picker__box--invalid {
|
|
105
|
-
outline: 2px solid $danger-01;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
104
|
.#{$iot-prefix}--date-time-picker__box--disabled {
|
|
109
105
|
border: none;
|
|
110
106
|
}
|
|
@@ -118,6 +114,10 @@
|
|
|
118
114
|
pointer-events: none;
|
|
119
115
|
}
|
|
120
116
|
|
|
117
|
+
.#{$iot-prefix}--date-time-pickerv2__wrapper--invalid {
|
|
118
|
+
outline: 2px solid $danger-01;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
121
|
// open menu content
|
|
122
122
|
.#{$iot-prefix}--flyout-menu--content.#{$iot-prefix}--date-time-picker--menu {
|
|
123
123
|
--zIndex: 0;
|
|
@@ -195,6 +195,11 @@ button.#{$prefix}--btn.#{$iot-prefix}--tooltip-svg-wrapper.#{$prefix}--btn--ghos
|
|
|
195
195
|
left: unset;
|
|
196
196
|
right: var(--row-nesting-offset);
|
|
197
197
|
}
|
|
198
|
+
|
|
199
|
+
&__expand {
|
|
200
|
+
left: unset;
|
|
201
|
+
margin-left: var(--row-nesting-offset);
|
|
202
|
+
}
|
|
198
203
|
}
|
|
199
204
|
|
|
200
205
|
.#{$iot-prefix}--expanded-tablerow {
|