@equinor/echo-components 0.5.16 → 0.5.17

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,87 @@ 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}";
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"};
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
+
23514
23536
  function WorkOrderListItem(props) {
23515
- var _classnames, _classnames2;
23537
+ var _classnames;
23516
23538
  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));
23539
+ var wo = props.workOrder;
23519
23540
  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));
23541
+ if (wo.orderType.toUpperCase() === 'PM01') {
23542
+ return /*#__PURE__*/React__default.createElement("div", null, "Req. end date: ", dateToStringOrEmpty(wo.requiredEndDateTime));
23524
23543
  }
23525
- if (props.workOrder.orderType.toUpperCase() === 'PM02') {
23526
- return /*#__PURE__*/React__default.createElement("div", {
23527
- className: date
23528
- }, "Planned date: ", dateToStringOrEmpty(props.workOrder.maintenancePlanDate));
23544
+ if (wo.orderType.toUpperCase() === 'PM02') {
23545
+ return /*#__PURE__*/React__default.createElement("div", null, "Planned date: ", dateToStringOrEmpty(wo.maintenancePlanDate));
23529
23546
  }
23530
23547
  return null;
23531
23548
  };
23549
+ var isOverflow = wo.planningPlant && wo.planningPlant.length > 26 || wo.requiredEndDateTime && wo.requiredEndDateTime.toString().length > 26;
23550
+ var tertiary = classnames$1((_classnames = {}, _defineProperty$1(_classnames, styles$3.tertiaryMultiline, isOverflow || isMobile), _defineProperty$1(_classnames, styles$3.tertiary, !isOverflow && !isMobile), _classnames));
23532
23551
  return /*#__PURE__*/React__default.createElement(ListItem, {
23533
23552
  className: styles$3.container,
23534
23553
  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", {
23554
+ primary: /*#__PURE__*/React__default.createElement("div", {
23555
+ className: styles$3.primary
23556
+ }, /*#__PURE__*/React__default.createElement(Typography, {
23557
+ variant: 'h6'
23558
+ }, wo.id.substring(4)), /*#__PURE__*/React__default.createElement(WorkOrderStatusLabel, {
23559
+ workOrderStatus: wo.activeStatusIds
23560
+ })),
23561
+ secondary: /*#__PURE__*/React__default.createElement(Typography, {
23562
+ variant: 'caption',
23563
+ className: styles$3.secondaryText
23564
+ }, wo.description),
23565
+ tertiary: /*#__PURE__*/React__default.createElement("div", {
23551
23566
  className: tertiary
23552
- }, /*#__PURE__*/React__default.createElement("div", null, props.workOrder.planningPlant), displayHeaderDate())),
23567
+ }, /*#__PURE__*/React__default.createElement(Typography, {
23568
+ variant: 'chart',
23569
+ group: 'ui',
23570
+ className: styles$3.tertiaryText
23571
+ }, wo.planningPlant), !isOverflow && !isMobile && /*#__PURE__*/React__default.createElement("div", {
23572
+ className: styles$3.divider
23573
+ }), /*#__PURE__*/React__default.createElement(Typography, {
23574
+ variant: 'chart',
23575
+ group: 'ui',
23576
+ className: styles$3.tertiaryText
23577
+ }, displayHeaderDate())),
23553
23578
  visual: /*#__PURE__*/React__default.createElement("div", {
23554
23579
  className: styles$3.visual
23555
23580
  }, /*#__PURE__*/React__default.createElement(Icon$1, {
23556
- name: setWorkOrderIconName(props.workOrder.orderType),
23581
+ name: setWorkOrderIconName(wo.orderType),
23557
23582
  color: "white"
23558
23583
  })),
23559
23584
  itemAction: props.itemAction,