@copart/ops-tool-kit 1.12.7 → 1.12.8

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,9 @@
1
+ ### 1.12.8
2
+
3
+ - Added user availability status circle indicator to LogOutMenu component (similar to Teams availability status display).
4
+ - Enhanced ProfileDetails to automatically add missing currentUserStatus to availableStatuses with color #BC2F32 and disabled flag when status is not in the available list.
5
+ - Status circle indicator only displays when status system is active (availableStatuses has items).
6
+
1
7
  ### 0.5.44
2
8
 
3
9
  - Fixed missing yardNumber in AppBar.
@@ -47,7 +47,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
47
47
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
48
48
 
49
49
  const name$r = "@copart/ops-tool-kit";
50
- const version$8 = "1.12.7";
50
+ const version$8 = "1.12.8";
51
51
  const main$1 = "dist/ops-tool-kit.js";
52
52
  const style = "dist/ops-tool-kit.css";
53
53
  const files = [
@@ -21390,7 +21390,21 @@ styleInject(css_248z$m);
21390
21390
 
21391
21391
  var LogOutMenu = function LogOutMenu(_ref) {
21392
21392
  _ref.items;
21393
- var onItemClick = _ref.onItemClick;
21393
+ var onItemClick = _ref.onItemClick,
21394
+ _ref$availableStatuse = _ref.availableStatuses,
21395
+ availableStatuses = _ref$availableStatuse === void 0 ? [] : _ref$availableStatuse,
21396
+ currentUserStatus = _ref.currentUserStatus;
21397
+ var getStatusColor = function getStatusColor() {
21398
+ if (!currentUserStatus || !Array.isArray(availableStatuses)) {
21399
+ return '#9A9B98'; // Default color
21400
+ }
21401
+ var statusObj = availableStatuses.find(function (status) {
21402
+ return status.status === currentUserStatus;
21403
+ });
21404
+ return (statusObj === null || statusObj === void 0 ? void 0 : statusObj.colour) || '#BC2F32';
21405
+ };
21406
+ var statusColor = getStatusColor();
21407
+
21394
21408
  // useEffect(()=>{
21395
21409
  // const iconEl=document.querySelector(".ms-Icon.root-37.ms-Icon-placeHolder.placeholder-38.ms-Button-menuIcon.menuIcon-95")
21396
21410
  // if(iconEl){
@@ -21405,10 +21419,26 @@ var LogOutMenu = function LogOutMenu(_ref) {
21405
21419
  "data-testid": "Logout",
21406
21420
  className: "utilities_ops-app-frame_AppBarComponent_AppBar--item",
21407
21421
  "data-e2e": "userMenu",
21408
- onClick: onItemClick
21422
+ onClick: onItemClick,
21423
+ style: {
21424
+ position: 'relative'
21425
+ }
21409
21426
  }, /*#__PURE__*/React__default["default"].createElement(coreComponents.IconV2, {
21410
21427
  name: "user-circle",
21411
21428
  variant: "solid"
21429
+ }), currentUserStatus && availableStatuses && availableStatuses.length > 0 && /*#__PURE__*/React__default["default"].createElement("span", {
21430
+ style: {
21431
+ position: 'absolute',
21432
+ bottom: '0',
21433
+ right: '0',
21434
+ width: '10px',
21435
+ height: '10px',
21436
+ borderRadius: '50%',
21437
+ backgroundColor: statusColor,
21438
+ display: 'inline-block',
21439
+ border: '2px solid white',
21440
+ boxSizing: 'border-box'
21441
+ }
21412
21442
  }));
21413
21443
  };
21414
21444
 
@@ -21423,6 +21453,24 @@ var ProfileDetails = function ProfileDetails(_ref) {
21423
21453
  _ref$currentUserStatu = _ref.currentUserStatus,
21424
21454
  currentUserStatus = _ref$currentUserStatu === void 0 ? null : _ref$currentUserStatu,
21425
21455
  onUserStatusUpdate = _ref.onUserStatusUpdate;
21456
+ // Check if currentUserStatus exists and is not in availableStatuses
21457
+ var getEnhancedStatuses = function getEnhancedStatuses() {
21458
+ if (!currentUserStatus || !Array.isArray(availableStatuses)) {
21459
+ return availableStatuses;
21460
+ }
21461
+ var statusExists = availableStatuses.some(function (status) {
21462
+ return status.status === currentUserStatus;
21463
+ });
21464
+ if (!statusExists) {
21465
+ return [].concat(_toConsumableArray(availableStatuses), [{
21466
+ status: currentUserStatus,
21467
+ colour: '#BC2F32',
21468
+ disabled: true
21469
+ }]);
21470
+ }
21471
+ return availableStatuses;
21472
+ };
21473
+ var enhancedStatuses = getEnhancedStatuses();
21426
21474
  var formatStatusOptions = function formatStatusOptions(statuses) {
21427
21475
  if (!Array.isArray(statuses)) {
21428
21476
  return [];
@@ -21431,13 +21479,14 @@ var ProfileDetails = function ProfileDetails(_ref) {
21431
21479
  return {
21432
21480
  key: statusObj.status,
21433
21481
  text: statusObj.status,
21482
+ disabled: statusObj.disabled !== undefined ? statusObj.disabled : false,
21434
21483
  data: {
21435
21484
  colour: statusObj.colour
21436
21485
  }
21437
21486
  };
21438
21487
  });
21439
21488
  };
21440
- var statusOptions = formatStatusOptions(availableStatuses);
21489
+ var statusOptions = formatStatusOptions(enhancedStatuses);
21441
21490
  var handleStatusChange = function handleStatusChange(e, option) {
21442
21491
  if (onUserStatusUpdate && option !== null && option !== void 0 && option.key) {
21443
21492
  onUserStatusUpdate(option.key);
@@ -21488,7 +21537,7 @@ var ProfileDetails = function ProfileDetails(_ref) {
21488
21537
  className: "utilities_ops-app-frame_AppBarComponent_Settings_ProfileDetails_ProfileDetails--profileDetails"
21489
21538
  }, /*#__PURE__*/React__default["default"].createElement("div", {
21490
21539
  className: "utilities_ops-app-frame_AppBarComponent_Settings_ProfileDetails_ProfileDetails--details"
21491
- }, /*#__PURE__*/React__default["default"].createElement("h3", null, storage$1.userName), /*#__PURE__*/React__default["default"].createElement("p", null, storage$1.userEmail), Array.isArray(availableStatuses) && availableStatuses.length > 0 && !isUserStatusHidden && /*#__PURE__*/React__default["default"].createElement("div", {
21540
+ }, /*#__PURE__*/React__default["default"].createElement("h3", null, storage$1.userName), /*#__PURE__*/React__default["default"].createElement("p", null, storage$1.userEmail), Array.isArray(enhancedStatuses) && enhancedStatuses.length > 0 && !isUserStatusHidden && /*#__PURE__*/React__default["default"].createElement("div", {
21492
21541
  className: "utilities_ops-app-frame_AppBarComponent_Settings_ProfileDetails_ProfileDetails--statusSelector"
21493
21542
  }, /*#__PURE__*/React__default["default"].createElement(coreComponents.Select, {
21494
21543
  id: "user-status-select",
@@ -33015,7 +33064,9 @@ var generateAppBarElements = function generateAppBarElements(props, showCallout)
33015
33064
  onItemClick: function onItemClick() {
33016
33065
  return handleIconClick(ICONS.SETTINGS);
33017
33066
  },
33018
- settingsVisible: settingsVisible
33067
+ settingsVisible: settingsVisible,
33068
+ availableStatuses: props.availableStatuses,
33069
+ currentUserStatus: props.currentUserStatus
33019
33070
  }), settingsVisible && /*#__PURE__*/React__default["default"].createElement("div", {
33020
33071
  className: "utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer"
33021
33072
  }));