@equinor/echo-components 0.5.16 → 0.5.18

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.
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ interface WorkOrderStatusLabelProps {
3
+ workOrderStatus: string;
4
+ }
5
+ export declare function WorkOrderStatusLabel({ workOrderStatus }: WorkOrderStatusLabelProps): JSX.Element;
6
+ export declare function resolveStatusColor(workOrderStatus: string): string;
7
+ export declare const WorkOrderStatusColorMap: {
8
+ completed: string;
9
+ active: string;
10
+ };
11
+ export {};
package/dist/index.js CHANGED
@@ -23498,62 +23498,94 @@ function setWorkOrderIconName(type) {
23498
23498
  return 'workorders_main_group';
23499
23499
  }
23500
23500
  }
23501
- function getStatusColor(statusIds) {
23502
- if (statusIds.includes('TECO') || statusIds.includes('CLSD')) return '#4bb748';
23503
- return '#fbca36';
23504
- }
23505
- function getStatusText(statusIds) {
23506
- if (statusIds.includes('TECO') || statusIds.includes('CLSD')) return 'Completed';
23507
- return 'Active';
23501
+ function getIsActive(statusIds) {
23502
+ if (statusIds.includes('TECO') || statusIds.includes('CLSD')) return false;
23503
+ return true;
23508
23504
  }
23509
23505
 
23510
- var css_248z$3 = ".WorkOrderListItem-module_container__AaZwJ{padding:1rem}.WorkOrderListItem-module_container__AaZwJ>div:not(:first-of-type){gap:8px}.WorkOrderListItem-module_topRow__cps3H{align-items:center;display:flex}.WorkOrderListItem-module_title__S3kG9{font-weight:500}.WorkOrderListItem-module_status__V1jcr{display:flex;margin-left:8px}.WorkOrderListItem-module_statusCircle__m2cc2{border-radius:160px;height:12px;width:12px}.WorkOrderListItem-module_statusText__a2z46{font-size:12px;font-weight:500;margin-left:4px}.WorkOrderListItem-module_tertiary__9VMmL{display:flex;font-size:12px;font-weight:500}.WorkOrderListItem-module_tertiaryMobile__hMer-{display:block}.WorkOrderListItem-module_date__mXBx9{margin-left:16px}.WorkOrderListItem-module_dateMobile__aRJ-6{margin-left:0;margin-top:5px}.WorkOrderListItem-module_medium__4F2RQ{font-size:14px;font-weight:500}.WorkOrderListItem-module_visual__UCRRo{align-items:center;background-color:var(--echoText);border-radius:50%;color:#fff;display:flex;flex-direction:column;font-size:12px;font-weight:500;height:40px;justify-content:center;margin:.5rem;padding:.5rem;width:40px}";
23511
- var styles$3 = {"container":"WorkOrderListItem-module_container__AaZwJ","topRow":"WorkOrderListItem-module_topRow__cps3H","title":"WorkOrderListItem-module_title__S3kG9","status":"WorkOrderListItem-module_status__V1jcr","statusCircle":"WorkOrderListItem-module_statusCircle__m2cc2","statusText":"WorkOrderListItem-module_statusText__a2z46","tertiary":"WorkOrderListItem-module_tertiary__9VMmL","tertiaryMobile":"WorkOrderListItem-module_tertiaryMobile__hMer- WorkOrderListItem-module_tertiary__9VMmL","date":"WorkOrderListItem-module_date__mXBx9","dateMobile":"WorkOrderListItem-module_dateMobile__aRJ-6","medium":"WorkOrderListItem-module_medium__4F2RQ","visual":"WorkOrderListItem-module_visual__UCRRo"};
23506
+ var css_248z$3 = ".WorkOrderListItem-module_container__AaZwJ{padding:1rem}.WorkOrderListItem-module_container__AaZwJ>div:not(:first-of-type){gap:8px}.WorkOrderListItem-module_visual__UCRRo{align-items:center;background-color:var(--echoText);border-radius:50%;color:#fff;display:flex;flex-direction:column;font-size:12px;font-weight:500;height:40px;justify-content:center;margin:.5rem;padding:.5rem;width:40px}.WorkOrderListItem-module_primary__aflKC{align-items:center;display:flex;flex-flow:row nowrap}.WorkOrderListItem-module_tertiary__9VMmL{gap:.75rem}.WorkOrderListItem-module_tertiaryMultiline__fnZfW{align-items:flex-start;flex-direction:column;gap:.1rem}.WorkOrderListItem-module_primaryText__Fdd7q{width:auto}.WorkOrderListItem-module_secondaryText__I85sw{color:#565656}.WorkOrderListItem-module_tertiaryText__TRbrY{color:var(--tertiaryText)}.WorkOrderListItem-module_divider__XvYes{border:1px solid #d9d9d9;height:.75rem}.WorkOrderListItem-module_statusContainer__YJ0If{align-items:center;display:flex;flex-flow:row nowrap;gap:.2rem}.WorkOrderListItem-module_statusIndicator__aCFoR{border-radius:50%;height:.75rem;margin-left:.5rem;width:.75rem}.WorkOrderListItem-module_statusText__a2z46{display:contents;margin-left:.25rem}.WorkOrderListItem-module_title__S3kG9{width:auto}";
23507
+ var styles$3 = {"container":"WorkOrderListItem-module_container__AaZwJ","visual":"WorkOrderListItem-module_visual__UCRRo","primary":"WorkOrderListItem-module_primary__aflKC","tertiary":"WorkOrderListItem-module_tertiary__9VMmL WorkOrderListItem-module_primary__aflKC","tertiaryMultiline":"WorkOrderListItem-module_tertiaryMultiline__fnZfW WorkOrderListItem-module_primary__aflKC","primaryText":"WorkOrderListItem-module_primaryText__Fdd7q","secondaryText":"WorkOrderListItem-module_secondaryText__I85sw","tertiaryText":"WorkOrderListItem-module_tertiaryText__TRbrY","divider":"WorkOrderListItem-module_divider__XvYes","statusContainer":"WorkOrderListItem-module_statusContainer__YJ0If","statusIndicator":"WorkOrderListItem-module_statusIndicator__aCFoR","statusText":"WorkOrderListItem-module_statusText__a2z46","title":"WorkOrderListItem-module_title__S3kG9"};
23512
23508
  styleInject(css_248z$3);
23513
23509
 
23510
+ function WorkOrderStatusLabel(_ref) {
23511
+ var workOrderStatus = _ref.workOrderStatus;
23512
+ return /*#__PURE__*/React__default.createElement("div", {
23513
+ className: styles$3.statusContainer
23514
+ }, /*#__PURE__*/React__default.createElement("span", {
23515
+ style: {
23516
+ background: resolveStatusColor(workOrderStatus)
23517
+ },
23518
+ className: styles$3.statusIndicator
23519
+ }), /*#__PURE__*/React__default.createElement(Typography, {
23520
+ variant: 'chart',
23521
+ group: 'ui',
23522
+ className: styles$3.statusText
23523
+ }, getIsActive(workOrderStatus) ? 'Active' : 'Completed'));
23524
+ }
23525
+ function resolveStatusColor(workOrderStatus) {
23526
+ if (getIsActive(workOrderStatus)) {
23527
+ return WorkOrderStatusColorMap['active'];
23528
+ }
23529
+ return WorkOrderStatusColorMap['completed'];
23530
+ }
23531
+ var WorkOrderStatusColorMap = {
23532
+ completed: '#4BB748',
23533
+ active: '#FF9200'
23534
+ };
23535
+
23536
+ function setShowDate(wo) {
23537
+ if (wo.orderType.toUpperCase() === 'PM01' && wo.requiredEndDateTime) return true;
23538
+ if (wo.orderType.toUpperCase() === 'PM02' && wo.maintenancePlanDate) return true;
23539
+ return false;
23540
+ }
23514
23541
  function WorkOrderListItem(props) {
23515
- var _classnames, _classnames2;
23542
+ var _classnames;
23516
23543
  var isMobile = useIsMobile();
23517
- var date = classnames$1((_classnames = {}, _defineProperty$1(_classnames, styles$3.dateMobile, isMobile), _defineProperty$1(_classnames, styles$3.date, !isMobile), _classnames));
23518
- var tertiary = classnames$1((_classnames2 = {}, _defineProperty$1(_classnames2, styles$3.tertiaryMobile, isMobile), _defineProperty$1(_classnames2, styles$3.tertiary, !isMobile), _classnames2));
23544
+ var wo = props.workOrder;
23545
+ var showDate = setShowDate(wo);
23519
23546
  var displayHeaderDate = function displayHeaderDate() {
23520
- if (props.workOrder.orderType.toUpperCase() === 'PM01') {
23521
- return /*#__PURE__*/React__default.createElement("div", {
23522
- className: date
23523
- }, "Req. end date: ", dateToStringOrEmpty(props.workOrder.requiredEndDateTime));
23547
+ if (wo.orderType.toUpperCase() === 'PM01') {
23548
+ return /*#__PURE__*/React__default.createElement("span", null, "Req. end date: ", dateToStringOrEmpty(wo.requiredEndDateTime));
23524
23549
  }
23525
- if (props.workOrder.orderType.toUpperCase() === 'PM02') {
23526
- return /*#__PURE__*/React__default.createElement("div", {
23527
- className: date
23528
- }, "Planned date: ", dateToStringOrEmpty(props.workOrder.maintenancePlanDate));
23550
+ if (wo.orderType.toUpperCase() === 'PM02') {
23551
+ return /*#__PURE__*/React__default.createElement("span", null, "Planned date: ", dateToStringOrEmpty(wo.maintenancePlanDate));
23529
23552
  }
23530
23553
  return null;
23531
23554
  };
23555
+ var isOverflow = wo.planningPlant && wo.planningPlant.length > 26 || wo.requiredEndDateTime && wo.requiredEndDateTime.toString().length > 26;
23556
+ var tertiary = classnames$1((_classnames = {}, _defineProperty$1(_classnames, styles$3.tertiaryMultiline, isOverflow || isMobile), _defineProperty$1(_classnames, styles$3.tertiary, !isOverflow && !isMobile), _classnames));
23532
23557
  return /*#__PURE__*/React__default.createElement(ListItem, {
23533
23558
  className: styles$3.container,
23534
23559
  onCardClick: props.isHeader ? undefined : props.itemClicked,
23535
- primary: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
23536
- className: styles$3.topRow
23537
- }, /*#__PURE__*/React__default.createElement("div", {
23538
- className: styles$3.title
23539
- }, props.workOrder.id.substring(4)), /*#__PURE__*/React__default.createElement("div", {
23540
- className: styles$3.status
23541
- }, /*#__PURE__*/React__default.createElement("div", {
23542
- style: {
23543
- background: getStatusColor(props.workOrder.activeStatusIds)
23544
- },
23545
- className: styles$3.statusCircle
23546
- }), /*#__PURE__*/React__default.createElement("div", {
23547
- className: styles$3.statusText
23548
- }, getStatusText(props.workOrder.activeStatusIds)))), /*#__PURE__*/React__default.createElement("div", {
23549
- className: styles$3.medium
23550
- }, props.workOrder.description), /*#__PURE__*/React__default.createElement("div", {
23560
+ primary: /*#__PURE__*/React__default.createElement("div", {
23561
+ className: styles$3.primary
23562
+ }, /*#__PURE__*/React__default.createElement(Typography, {
23563
+ className: styles$3.title,
23564
+ variant: 'h6'
23565
+ }, wo.id.substring(4)), /*#__PURE__*/React__default.createElement(WorkOrderStatusLabel, {
23566
+ workOrderStatus: wo.activeStatusIds
23567
+ })),
23568
+ secondary: /*#__PURE__*/React__default.createElement(Typography, {
23569
+ variant: 'caption',
23570
+ className: styles$3.secondaryText
23571
+ }, wo.description),
23572
+ tertiary: /*#__PURE__*/React__default.createElement("div", {
23551
23573
  className: tertiary
23552
- }, /*#__PURE__*/React__default.createElement("div", null, props.workOrder.planningPlant), displayHeaderDate())),
23574
+ }, /*#__PURE__*/React__default.createElement(Typography, {
23575
+ variant: 'chart',
23576
+ group: 'ui',
23577
+ className: styles$3.tertiaryText
23578
+ }, wo.planningPlant), showDate && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !isOverflow && !isMobile && /*#__PURE__*/React__default.createElement("div", {
23579
+ className: styles$3.divider
23580
+ }), /*#__PURE__*/React__default.createElement(Typography, {
23581
+ variant: 'chart',
23582
+ group: 'ui',
23583
+ className: styles$3.tertiaryText
23584
+ }, displayHeaderDate()))),
23553
23585
  visual: /*#__PURE__*/React__default.createElement("div", {
23554
23586
  className: styles$3.visual
23555
23587
  }, /*#__PURE__*/React__default.createElement(Icon$1, {
23556
- name: setWorkOrderIconName(props.workOrder.orderType),
23588
+ name: setWorkOrderIconName(wo.orderType),
23557
23589
  color: "white"
23558
23590
  })),
23559
23591
  itemAction: props.itemAction,