@copart/ops-tool-kit 1.12.17 → 1.12.18-alpha.1

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.
@@ -47,7 +47,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
47
47
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
48
48
 
49
49
  const name$1 = "@copart/ops-tool-kit";
50
- const version$3 = "1.12.17";
50
+ const version$3 = "1.12.18-alpha.1";
51
51
  const main$1 = "dist/ops-tool-kit.js";
52
52
  const style = "dist/ops-tool-kit.css";
53
53
  const files = [
@@ -307,6 +307,54 @@ function _createClass$2(e, r, t) {
307
307
  writable: !1
308
308
  }), e;
309
309
  }
310
+ function _createForOfIteratorHelper(r, e) {
311
+ var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
312
+ if (!t) {
313
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
314
+ t && (r = t);
315
+ var n = 0,
316
+ F = function () {};
317
+ return {
318
+ s: F,
319
+ n: function () {
320
+ return n >= r.length ? {
321
+ done: !0
322
+ } : {
323
+ done: !1,
324
+ value: r[n++]
325
+ };
326
+ },
327
+ e: function (r) {
328
+ throw r;
329
+ },
330
+ f: F
331
+ };
332
+ }
333
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
334
+ }
335
+ var o,
336
+ a = !0,
337
+ u = !1;
338
+ return {
339
+ s: function () {
340
+ t = t.call(r);
341
+ },
342
+ n: function () {
343
+ var r = t.next();
344
+ return a = r.done, r;
345
+ },
346
+ e: function (r) {
347
+ u = !0, o = r;
348
+ },
349
+ f: function () {
350
+ try {
351
+ a || null == t.return || t.return();
352
+ } finally {
353
+ if (u) throw o;
354
+ }
355
+ }
356
+ };
357
+ }
310
358
  function _defineProperty$2(e, r, t) {
311
359
  return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
312
360
  value: t,
@@ -7088,38 +7136,6 @@ var values$1 = /*#__PURE__*/_curry1(function values(obj) {
7088
7136
  });
7089
7137
  var values$2 = values$1;
7090
7138
 
7091
- /**
7092
- * Makes an ascending comparator function out of a function that returns a value
7093
- * that can be compared with `<` and `>`.
7094
- *
7095
- * @func
7096
- * @memberOf R
7097
- * @since v0.23.0
7098
- * @category Function
7099
- * @sig Ord b => (a -> b) -> a -> a -> Number
7100
- * @param {Function} fn A function of arity one that returns a value that can be compared
7101
- * @param {*} a The first item to be compared.
7102
- * @param {*} b The second item to be compared.
7103
- * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`
7104
- * @see R.descend
7105
- * @example
7106
- *
7107
- * const byAge = R.ascend(R.prop('age'));
7108
- * const people = [
7109
- * { name: 'Emma', age: 70 },
7110
- * { name: 'Peter', age: 78 },
7111
- * { name: 'Mikhail', age: 62 },
7112
- * ];
7113
- * const peopleByYoungestFirst = R.sort(byAge, people);
7114
- * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]
7115
- */
7116
- var ascend = /*#__PURE__*/_curry3(function ascend(fn, a, b) {
7117
- var aa = fn(a);
7118
- var bb = fn(b);
7119
- return aa < bb ? -1 : aa > bb ? 1 : 0;
7120
- });
7121
- var ascend$1 = ascend;
7122
-
7123
7139
  /**
7124
7140
  * Checks if the input value is `null` or `undefined`.
7125
7141
  *
@@ -8908,51 +8924,6 @@ var sort = /*#__PURE__*/_curry2(function sort(comparator, list) {
8908
8924
  });
8909
8925
  var sort$1 = sort;
8910
8926
 
8911
- /**
8912
- * Sorts a list according to a list of comparators.
8913
- *
8914
- * @func
8915
- * @memberOf R
8916
- * @since v0.23.0
8917
- * @category Relation
8918
- * @sig [(a, a) -> Number] -> [a] -> [a]
8919
- * @param {Array} functions A list of comparator functions.
8920
- * @param {Array} list The list to sort.
8921
- * @return {Array} A new list sorted according to the comarator functions.
8922
- * @example
8923
- *
8924
- * const alice = {
8925
- * name: 'alice',
8926
- * age: 40
8927
- * };
8928
- * const bob = {
8929
- * name: 'bob',
8930
- * age: 30
8931
- * };
8932
- * const clara = {
8933
- * name: 'clara',
8934
- * age: 40
8935
- * };
8936
- * const people = [clara, bob, alice];
8937
- * const ageNameSort = R.sortWith([
8938
- * R.descend(R.prop('age')),
8939
- * R.ascend(R.prop('name'))
8940
- * ]);
8941
- * ageNameSort(people); //=> [alice, clara, bob]
8942
- */
8943
- var sortWith = /*#__PURE__*/_curry2(function sortWith(fns, list) {
8944
- return Array.prototype.slice.call(list, 0).sort(function (a, b) {
8945
- var result = 0;
8946
- var i = 0;
8947
- while (result === 0 && i < fns.length) {
8948
- result = fns[i](a, b);
8949
- i += 1;
8950
- }
8951
- return result;
8952
- });
8953
- });
8954
- var sortWith$1 = sortWith;
8955
-
8956
8927
  /**
8957
8928
  * Checks if a list starts with the provided sublist.
8958
8929
  *
@@ -21298,7 +21269,7 @@ FeedbackDialog.defaultProps = {
21298
21269
  }
21299
21270
  };
21300
21271
 
21301
- var css_248z$m = ".utilities_ops-app-frame_AppBarComponent_AppBar--root {\r\n background-color: var(--blue);\r\n background-color: var(--blue);\r\n height: 48px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n white-space: nowrap;\r\n /* padding-top: env(safe-area-inset-top, 0px); */\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--leftItems {\r\n width: 100%;\r\n display: flex;\r\n justify-content: start;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--appBarIcons {\r\n margin: 0 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--copartLogo {\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n margin-left: 5px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--copartLogoNew {\r\n display: flex;\r\n margin: 3px 0 0 16px;\r\n grid-gap: 10px;\r\n gap: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--moduleName {\r\n color: white;\r\n font-size: 11px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items {\r\n color: white;\r\n cursor: pointer;\r\n font-size: 18px;\r\n display: flex;\r\n justify-content: center;\r\n margin: 8px !important;\r\n position: relative;\r\n width: 25px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--logout {\r\n margin-right: 24px !important;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items i {\r\n color: #fff;\r\n font-size: 20px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--lightBulbIcon i {\r\n color: #ffff00;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--language {\r\n width: auto;\r\n grid-gap: 4px;\r\n grid-gap: 5px;\r\n gap: 5px;\r\n display: flex;\r\n font-size: 14px;\r\n font-weight: 600;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--yard {\r\n width: auto;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n background: #fff;\r\n color: #1D5AB9;\r\n font-weight: 600;\r\n border-radius: 4px;\r\n font-size: 14px;\r\n grid-gap: 8px;\r\n grid-gap: 8px;\r\n gap: 8px;\r\n padding: 2px 8px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--yard span i {\r\n color: #1D5AB9;\r\n font-size: 16px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--yard .utilities_ops-app-frame_AppBarComponent_AppBar--yardNumber {\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid .utilities_ops-app-frame_AppBarComponent_AppBar--col {\r\n display: flex;\r\n color: white;\r\n font-size: 13px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid .utilities_ops-app-frame_AppBarComponent_AppBar--col svg {\r\n color: white;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--logo {\r\n width: 6rem;\r\n margin-top: 0rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--text {\r\n margin-top: 0.6rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--iconText {\r\n margin-top: 0.4rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchBar,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--placeholderDiv {\r\n margin-top: -0.2rem;\r\n margin-left: 2rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--appBarLeft > img.utilities_ops-app-frame_AppBarComponent_AppBar--logo {\r\n display: inline;\r\n display: initial;\r\n}\r\n\r\n@font-face {\r\n font-family: 'Open Sans';\r\n font-style: italic;\r\n font-weight: 600;\r\n src: url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2)\r\n format('woff2');\r\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--appTitle {\r\n color: #fff;\r\n font-family: 'Open Sans', sans-serif;\r\n font-weight: 600;\r\n font-style: italic;\r\n font-size: 14px;\r\n position: relative;\r\n left: 16px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--item {\r\n display: flex;\r\n color: white;\r\n font-size: 13px;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchIcon {\r\n /* margin-left: 10px;\r\n margin-right: 7px; */\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n background: #fff;\r\n color: #1D5AB9;\r\n font-weight: 600;\r\n border-radius: 4px;\r\n box-shadow: inset 0px -2px 0px rgba(0, 0, 0, 0.4), 0px 1.6px 3.6px 0px rgba(0, 0, 0, 0.13), 0px 0.3px 0.9px 0px rgba(0, 0, 0, 0.10);\r\n font-size: 14px;\r\n grid-gap: 8px;\r\n gap: 8px;\r\n margin: 0 8px;\r\n padding: 6px 20px 7px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchIcon span {\r\n display: flex;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchIcon span i {\r\n font-size: 18px;\r\n color: #1D5AB9;\r\n}\r\n\r\n/* .searchIcon > div {\r\n margin-left: 7px;\r\n} */\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchWrapper i {\r\n color: #fff;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchWrapper span {\r\n display: flex;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault {\r\n color: white;\r\n cursor: default;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable {\r\n background-color: white;\r\n border-radius: 20px;\r\n margin: 5px;\r\n padding: 0px 10px;\r\n height: 25px;\r\n font-weight: bold;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--light {\r\n border: 1px solid #1d5ab9;\r\n justify-content: flex-start;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightDefault {\r\n color: black;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneOffline,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightAvailable {\r\n background-color: white;\r\n border-radius: 20px;\r\n display: flex;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightAvailable {\r\n color: green;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightAvailable i {\r\n color: green;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneOffline {\r\n color: red;\r\n margin: 5px 0px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneOffline svg {\r\n margin-right: 5px;\r\n margin-left: 5px;\r\n width: 24px;\r\n height: 24px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--SpinnerWrapper {\r\n margin-left: 5px;\r\n display: inline-flex;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault i {\r\n font-size: 16px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable i {\r\n line-height: unset;\r\n font-size: 16px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable {\r\n color: green;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault i,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable i,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable svg {\r\n margin-right: 5px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable {\r\n color: red;\r\n}\r\n\r\n/* .userMenu {\r\n margin-left: 10px !important;\r\n margin-right: 5px !important;\r\n} */\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag {\r\n margin: 8px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag > div {\r\n margin-left: 7px;\r\n font-size: 14px;\r\n font-weight: 600;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--feedback {\r\n margin: 0 !important;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--overflowItems {\r\n width: 100%;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelp_button {\r\n cursor: pointer;\r\n position: relative;\r\n top: -2px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelp_button i {\r\n color: #fff;\r\n font-size: 22px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpDot {\r\n background-color: #ef5350;\r\n border-radius: 50%;\r\n position: absolute;\r\n top: 3px;\r\n left: 13px;\r\n width: 10px;\r\n height: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpTooltip{\r\n position: absolute;\r\n background: #fff;\r\n padding: 8px;\r\n right: 30px;\r\n top: -2px;\r\n border-radius: 2px;\r\n font-weight: 400;\r\n font-size: 12px;\r\n cursor: auto;\r\n color: #000;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpTooltip::before{\r\n content: \"\";\r\n position: absolute;\r\n top: 50%;\r\n left: 100%;\r\n margin-top: -5px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpTooltip i{\r\n color: #000;\r\n font-size: 12px;\r\n margin-left: 5px;\r\n position: relative;\r\n top: 1px;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer {\r\n position: absolute;\r\n display: flex;\r\n width: 100vw;\r\n bottom: 0;\r\n z-index: 10000;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaNoteIframe {\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n height: 100%;\r\n width: 425px;\r\n max-width: 425px;\r\n background-color: white;\r\n border: 0px solid;\r\n padding: 20px 30px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHide {\r\n background-color: rgba(0,0,0,.5);\r\n width: 100%;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--st0{fill:#0075E6;}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--st1{fill:#6A819C;}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--st2{fill:#FFFFFF;}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHideButton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: absolute;\r\n top: 2px;\r\n right: 510px;\r\n height: 38px;\r\n width: 38px;\r\n background-color: white;\r\n z-index: 11000;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--profile {\r\n padding: 5px 7px;\r\n background: #fff;\r\n border-radius: 50%;\r\n font-weight: 600;\r\n color: #1d5ab9;\r\n font-size: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchContainer {\r\n background: rgba(255, 255, 255, 0.40);\r\n backdrop-filter: blur(20px);\r\n position: absolute;\r\n top: 50px;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 999;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper{\r\n position: absolute;\r\n z-index: 10000;\r\n height: 100vh;\r\n width: 100vw;\r\n background-color: rgba(0,0,0,.5);\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebar {\r\n width: 425px;\r\n max-width: 425px;\r\n position: absolute;\r\n right: 0;\r\n /* height: calc(100vh - 100px); */\r\n /* padding: 15px; */\r\n background-color: white;\r\n overflow-y: auto;\r\n}\r\n\r\n@media only screen and (max-width: 1024px) {\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault i,\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable i,\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable svg {\r\n margin-right: 2px;\r\n }\r\n\r\n /* .searchIcon {\r\n margin-left: 5px;\r\n margin-right: 2px;\r\n }\r\n\r\n .searchIcon > div {\r\n margin-left: 2px;\r\n } */\r\n\r\n /* .userMenu {\r\n margin-left: 3px !important;\r\n margin-right: 3px !important;\r\n } */\r\n\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag {\r\n margin-left: 3px !important;\r\n margin-right: 3px !important;\r\n }\r\n\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag > div {\r\n margin-left: 2px;\r\n }\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--sideBarWrapper\r\n{\r\n position: absolute;\r\n z-index: 10000;\r\n height: 100vh;\r\n top: 100px;\r\n width: 100vw;\r\n background-color: rgba(0,0,0,.5);\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv\r\n{\r\n width: 425px;\r\n max-width: 425px;\r\n position: absolute;\r\n right: 0;\r\n /* height: calc(100vh - 100px); */\r\n background-color: white;\r\n overflow-y: auto;\r\n padding: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar {\r\n width: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar-track {\r\n background: #f1f1f1;\r\n border-radius: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar-thumb {\r\n background-color: #888;\r\n border-radius: 10px;\r\n border: 3px solid #f1f1f1;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar-thumb:hover {\r\n background-color: #555;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationsHeader{\r\n font-size: 24px;\r\n font-weight: 700;\r\n padding-bottom: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationsWrapper{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n grid-gap: 6px;\r\n gap: 6px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount{\r\n background-color: #ef5350;\r\n color: white;\r\n font-size: 12px;\r\n width: 1rem;\r\n border-radius: 50%;\r\n position: absolute;\r\n top: -5px;\r\n left: 11px;\r\n height: 1rem;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount.utilities_ops-app-frame_AppBarComponent_AppBar--twoChars {\r\n width: 1.1rem;\r\n height: 1.1rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount.utilities_ops-app-frame_AppBarComponent_AppBar--threeChars {\r\n width: 1.3rem;\r\n height: 1.3rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--notificationIconWrapper {\r\n cursor: pointer;\r\n margin-left: 12px;\r\n position: relative;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer {\r\n width: 0px;\r\n height: 0px;\r\n border-left: 8px solid transparent;\r\n border-right: 8px solid transparent;\r\n border-bottom: 11px solid white;\r\n position: absolute;\r\n bottom: -13px;\r\n right: 5px;\r\n}\r\n\r\n/* .arrowTipContainer.ideaNoteArrow {\r\n right: 16px;\r\n} */\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpArrow {\r\n right: 3px;\r\n bottom: -10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer.utilities_ops-app-frame_AppBarComponent_AppBar--profileArrow {\r\n bottom: -12px;\r\n right: 8px;\r\n border-left: 7px solid transparent;\r\n border-right: 7px solid transparent;\r\n border-bottom: 10px solid white;\r\n}\r\n\r\n@media (max-width: 1366px) {\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaNoteIframe {\r\n width: 400px;\r\n max-width: 400px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv {\r\n width: 400px;\r\n max-width: 400px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebar {\r\n width: 400px;\r\n max-width: 400px;\r\n}\r\n}\r\n\r\n@media (max-width: 768px) {\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv {\r\n width: 85%;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount{\r\n left: 12px;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer {\r\n right: 5px;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaNoteIframe {\r\n width: 85% !important;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer iframe {\r\n width: 85% !important;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHide .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHideButton {\r\n display: none;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebar {\r\n width: 85%;\r\n }\r\n}";
21272
+ var css_248z$m = ".utilities_ops-app-frame_AppBarComponent_AppBar--root {\r\n background-color: var(--blue);\r\n background-color: var(--blue);\r\n height: 48px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n white-space: nowrap;\r\n /* padding-top: env(safe-area-inset-top, 0px); */\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--leftItems {\r\n width: 100%;\r\n display: flex;\r\n justify-content: start;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--appBarIcons {\r\n margin: 0 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--copartLogo {\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n margin-left: 5px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--copartLogoNew {\r\n display: flex;\r\n margin: 3px 0 0 16px;\r\n grid-gap: 10px;\r\n gap: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--moduleName {\r\n color: white;\r\n font-size: 11px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items {\r\n color: white;\r\n cursor: pointer;\r\n font-size: 18px;\r\n display: flex;\r\n justify-content: center;\r\n margin: 8px !important;\r\n position: relative;\r\n width: 25px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--logout {\r\n margin-right: 24px !important;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items i {\r\n color: #fff;\r\n font-size: 20px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--lightBulbIcon i {\r\n color: #ffff00;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--language {\r\n width: auto;\r\n grid-gap: 4px;\r\n grid-gap: 5px;\r\n gap: 5px;\r\n display: flex;\r\n font-size: 14px;\r\n font-weight: 600;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--yard {\r\n width: auto;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n background: #fff;\r\n color: #1D5AB9;\r\n font-weight: 600;\r\n border-radius: 4px;\r\n font-size: 14px;\r\n grid-gap: 8px;\r\n grid-gap: 8px;\r\n gap: 8px;\r\n padding: 2px 8px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--yard span i {\r\n color: #1D5AB9;\r\n font-size: 16px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--yard .utilities_ops-app-frame_AppBarComponent_AppBar--yardNumber {\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid .utilities_ops-app-frame_AppBarComponent_AppBar--col {\r\n display: flex;\r\n color: white;\r\n font-size: 13px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid .utilities_ops-app-frame_AppBarComponent_AppBar--col svg {\r\n color: white;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--logo {\r\n width: 6rem;\r\n margin-top: 0rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--text {\r\n margin-top: 0.6rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--iconText {\r\n margin-top: 0.4rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchBar,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--placeholderDiv {\r\n margin-top: -0.2rem;\r\n margin-left: 2rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--appBarLeft > img.utilities_ops-app-frame_AppBarComponent_AppBar--logo {\r\n display: inline;\r\n display: initial;\r\n}\r\n\r\n@font-face {\r\n font-family: 'Open Sans';\r\n font-style: italic;\r\n font-weight: 600;\r\n src: url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2)\r\n format('woff2');\r\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--appTitle {\r\n color: #fff;\r\n font-family: 'Open Sans', sans-serif;\r\n font-weight: 600;\r\n font-style: italic;\r\n font-size: 14px;\r\n position: relative;\r\n left: 16px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--item {\r\n display: flex;\r\n color: white;\r\n font-size: 13px;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchIcon {\r\n /* margin-left: 10px;\r\n margin-right: 7px; */\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n background: #fff;\r\n color: #1D5AB9;\r\n font-weight: 600;\r\n border-radius: 4px;\r\n box-shadow: inset 0px -2px 0px rgba(0, 0, 0, 0.4), 0px 1.6px 3.6px 0px rgba(0, 0, 0, 0.13), 0px 0.3px 0.9px 0px rgba(0, 0, 0, 0.10);\r\n font-size: 14px;\r\n grid-gap: 8px;\r\n gap: 8px;\r\n margin: 0 8px;\r\n padding: 6px 20px 7px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchIcon span {\r\n display: flex;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchIcon span i {\r\n font-size: 18px;\r\n color: #1D5AB9;\r\n}\r\n\r\n/* .searchIcon > div {\r\n margin-left: 7px;\r\n} */\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchWrapper i {\r\n color: #fff;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchWrapper span {\r\n display: flex;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault {\r\n color: white;\r\n cursor: default;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable {\r\n background-color: white;\r\n border-radius: 20px;\r\n margin: 5px;\r\n padding: 0px 10px;\r\n height: 25px;\r\n font-weight: bold;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--light {\r\n border: 1px solid #1d5ab9;\r\n justify-content: flex-start;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightDefault {\r\n color: black;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneOffline,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightAvailable {\r\n background-color: white;\r\n border-radius: 20px;\r\n display: flex;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightAvailable {\r\n color: green;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--lightAvailable i {\r\n color: green;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneOffline {\r\n color: red;\r\n margin: 5px 0px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneOffline svg {\r\n margin-right: 5px;\r\n margin-left: 5px;\r\n width: 24px;\r\n height: 24px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--SpinnerWrapper {\r\n margin-left: 5px;\r\n display: inline-flex;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault i {\r\n font-size: 16px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable i {\r\n line-height: unset;\r\n font-size: 16px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable {\r\n color: green;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault i,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable i,\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable svg {\r\n margin-right: 5px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable {\r\n color: red;\r\n}\r\n\r\n/* .userMenu {\r\n margin-left: 10px !important;\r\n margin-right: 5px !important;\r\n} */\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag {\r\n margin: 8px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag > div {\r\n margin-left: 7px;\r\n font-size: 14px;\r\n font-weight: 600;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--feedback {\r\n margin: 0 !important;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--overflowItems {\r\n width: 100%;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelp_button {\r\n cursor: pointer;\r\n position: relative;\r\n top: -2px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelp_button i {\r\n color: #fff;\r\n font-size: 22px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpDot {\r\n background-color: #ef5350;\r\n border-radius: 50%;\r\n position: absolute;\r\n top: 3px;\r\n left: 13px;\r\n width: 10px;\r\n height: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpTooltip{\r\n position: absolute;\r\n background: #fff;\r\n padding: 8px;\r\n right: 30px;\r\n top: -2px;\r\n border-radius: 2px;\r\n font-weight: 400;\r\n font-size: 12px;\r\n cursor: auto;\r\n color: #000;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpTooltip::before{\r\n content: \"\";\r\n position: absolute;\r\n top: 50%;\r\n left: 100%;\r\n margin-top: -5px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpTooltip i{\r\n color: #000;\r\n font-size: 12px;\r\n margin-left: 5px;\r\n position: relative;\r\n top: 1px;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer {\r\n position: absolute;\r\n display: flex;\r\n width: 100vw;\r\n bottom: 0;\r\n z-index: 10000;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaNoteIframe {\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n height: 100%;\r\n width: 425px;\r\n max-width: 425px;\r\n background-color: white;\r\n border: 0px solid;\r\n padding: 20px 30px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHide {\r\n background-color: rgba(0,0,0,.5);\r\n width: 100%;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--st0{fill:#0075E6;}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--st1{fill:#6A819C;}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--st2{fill:#FFFFFF;}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHideButton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: absolute;\r\n top: 2px;\r\n right: 510px;\r\n height: 38px;\r\n width: 38px;\r\n background-color: white;\r\n z-index: 11000;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--profile {\r\n padding: 5px 7px;\r\n background: #fff;\r\n border-radius: 50%;\r\n font-weight: 600;\r\n color: #1d5ab9;\r\n font-size: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--searchContainer {\r\n background: rgba(255, 255, 255, 0.40);\r\n backdrop-filter: blur(20px);\r\n position: absolute;\r\n top: 50px;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 999;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper{\r\n position: absolute;\r\n z-index: 10000;\r\n height: 100vh;\r\n width: 100vw;\r\n background-color: rgba(0,0,0,.5);\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebar {\r\n width: 425px;\r\n max-width: 425px;\r\n position: absolute;\r\n right: 0;\r\n /* height: calc(100vh - 100px); */\r\n /* padding: 15px; */\r\n background-color: white;\r\n overflow-y: auto;\r\n}\r\n\r\n@media only screen and (max-width: 1024px) {\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--phoneDefault i,\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--phoneAvailable i,\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--phoneUnvailable svg {\r\n margin-right: 2px;\r\n }\r\n\r\n /* .searchIcon {\r\n margin-left: 5px;\r\n margin-right: 2px;\r\n }\r\n\r\n .searchIcon > div {\r\n margin-left: 2px;\r\n } */\r\n\r\n /* .userMenu {\r\n margin-left: 3px !important;\r\n margin-right: 3px !important;\r\n } */\r\n\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag {\r\n margin-left: 3px !important;\r\n margin-right: 3px !important;\r\n }\r\n\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--roleAndFlag > div {\r\n margin-left: 2px;\r\n }\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--sideBarWrapper\r\n{\r\n position: absolute;\r\n z-index: 10000;\r\n height: 100vh;\r\n top: 100px;\r\n width: 100vw;\r\n background-color: rgba(0,0,0,.5);\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv\r\n{\r\n width: 425px;\r\n max-width: 425px;\r\n position: absolute;\r\n right: 0;\r\n /* height: calc(100vh - 100px); */\r\n background-color: white;\r\n overflow-y: hidden;\r\n padding: 10px;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar {\r\n width: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar-track {\r\n background: #f1f1f1;\r\n border-radius: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar-thumb {\r\n background-color: #888;\r\n border-radius: 10px;\r\n border: 3px solid #f1f1f1;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv::-webkit-scrollbar-thumb:hover {\r\n background-color: #555;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationsHeader{\r\n font-size: 24px;\r\n font-weight: 700;\r\n padding-bottom: 10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationsWrapper{\r\n flex: 1;\r\n min-height: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount{\r\n background-color: #ef5350;\r\n color: white;\r\n font-size: 12px;\r\n width: 1rem;\r\n border-radius: 50%;\r\n position: absolute;\r\n top: -5px;\r\n left: 11px;\r\n height: 1rem;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount.utilities_ops-app-frame_AppBarComponent_AppBar--twoChars {\r\n width: 1.1rem;\r\n height: 1.1rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount.utilities_ops-app-frame_AppBarComponent_AppBar--threeChars {\r\n width: 1.3rem;\r\n height: 1.3rem;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--flex-grid-items.utilities_ops-app-frame_AppBarComponent_AppBar--notificationIconWrapper {\r\n cursor: pointer;\r\n margin-left: 12px;\r\n position: relative;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer {\r\n width: 0px;\r\n height: 0px;\r\n border-left: 8px solid transparent;\r\n border-right: 8px solid transparent;\r\n border-bottom: 11px solid white;\r\n position: absolute;\r\n bottom: -13px;\r\n right: 5px;\r\n}\r\n\r\n/* .arrowTipContainer.ideaNoteArrow {\r\n right: 16px;\r\n} */\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer.utilities_ops-app-frame_AppBarComponent_AppBar--mihelpArrow {\r\n right: 3px;\r\n bottom: -10px;\r\n}\r\n\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer.utilities_ops-app-frame_AppBarComponent_AppBar--profileArrow {\r\n bottom: -12px;\r\n right: 8px;\r\n border-left: 7px solid transparent;\r\n border-right: 7px solid transparent;\r\n border-bottom: 10px solid white;\r\n}\r\n\r\n@media (max-width: 1366px) {\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaNoteIframe {\r\n width: 400px;\r\n max-width: 400px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv {\r\n width: 400px;\r\n max-width: 400px;\r\n}\r\n.utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebar {\r\n width: 400px;\r\n max-width: 400px;\r\n}\r\n}\r\n\r\n@media (max-width: 768px) {\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--innerNotificationDiv {\r\n width: 85%;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--notificationCount{\r\n left: 12px;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--arrowTipContainer {\r\n right: 5px;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaNoteIframe {\r\n width: 85% !important;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer iframe {\r\n width: 85% !important;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetContainer .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHide .utilities_ops-app-frame_AppBarComponent_AppBar--ideaWidgetHideButton {\r\n display: none;\r\n }\r\n .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebarWrapper .utilities_ops-app-frame_AppBarComponent_AppBar--settingsSidebar {\r\n width: 85%;\r\n }\r\n}";
21302
21273
  styleInject(css_248z$m);
21303
21274
 
21304
21275
  var LogOutMenu = function LogOutMenu(_ref) {
@@ -25542,15 +25513,39 @@ function addNotificationToViewedList(notification) {
25542
25513
  }
25543
25514
  }
25544
25515
 
25545
- function filterOutViewedNotifications(notifications) {
25546
- var viewedNotifications = getViewedNotifications();
25547
- return notifications.filter(function (notification) {
25548
- return !viewedNotifications[notification.notificationId];
25549
- });
25516
+ // Removes entries whose endsAt has already passed.
25517
+ // endsAt is stored as a UTC string without Z (e.g. '2024-01-15 14:30:00'),
25518
+ // matching the end_date_ts_utc format used in generateQuery's Solr filter.
25519
+ // Any entry with endsAt < now will never be returned by the API again, so it
25520
+ // can be safely dropped.
25521
+ function pruneExpiredViewedNotifications() {
25522
+ try {
25523
+ var viewed = getViewedNotifications();
25524
+ if (!viewed || _typeof$1(viewed) !== 'object' || Array.isArray(viewed)) return;
25525
+ var entries = Object.entries(viewed);
25526
+ if (!entries.length) return;
25527
+ var now = new Date();
25528
+ var pruned = Object.fromEntries(entries.filter(function (_ref) {
25529
+ var _ref2 = _slicedToArray(_ref, 2),
25530
+ entry = _ref2[1];
25531
+ if (!entry || !entry.endsAt) return false;
25532
+ var endsAt = new Date(String(entry.endsAt).replace(' ', 'T') + 'Z');
25533
+ return !isNaN(endsAt.getTime()) && endsAt > now;
25534
+ }));
25535
+ // Skip the write if nothing was pruned to avoid unnecessary localStorage I/O
25536
+ if (Object.keys(pruned).length === entries.length) return;
25537
+ localStorage.setItem('viewedNotifications', JSON.stringify(pruned));
25538
+ } catch (err) {
25539
+ console.error(err);
25540
+ }
25550
25541
  }
25551
- function isOutOfRange(startDate, endDate) {
25552
- var current = new Date();
25553
- return new Date(startDate) < current && current < new Date(endDate);
25542
+
25543
+ // Parses a UTC date string like '2024-01-15 14:30:00' (no Z suffix) into a Date object.
25544
+ // startsAt/endsAt come from the API with the T and Z stripped, so we restore them here.
25545
+ function parseAsUTCDate(dateStr) {
25546
+ if (!dateStr) return null;
25547
+ var d = new Date(String(dateStr).replace(' ', 'T') + 'Z');
25548
+ return isNaN(d.getTime()) ? null : d;
25554
25549
  }
25555
25550
  var getLocalEndTime = function getLocalEndTime(notification) {
25556
25551
  var endsAt = notification.endsAt,
@@ -25561,76 +25556,99 @@ var getLocalEndTime = function getLocalEndTime(notification) {
25561
25556
  if (isRecipientTimeZone && endDateTimeZone !== 'UTC') {
25562
25557
  return endsAt;
25563
25558
  }
25564
- return moment.utc(endsAt).local().format('YYYY-MM-DD HH:mm:ss');
25559
+ var d = parseAsUTCDate(endsAt);
25560
+ if (!d) return null;
25561
+ var pad = function pad(n) {
25562
+ return String(n).padStart(2, '0');
25563
+ };
25564
+ return "".concat(d.getFullYear(), "-").concat(pad(d.getMonth() + 1), "-").concat(pad(d.getDate()), " ").concat(pad(d.getHours()), ":").concat(pad(d.getMinutes()), ":").concat(pad(d.getSeconds()));
25565
25565
  };
25566
25566
  function filterOutExpiredNotifications(notifications) {
25567
+ var now = new Date();
25567
25568
  return filter$1(function (_ref) {
25568
25569
  var startsAt = _ref.startsAt,
25569
25570
  endsAt = _ref.endsAt,
25570
25571
  timeZoneType = _ref.timeZoneType,
25571
25572
  endDateTimeZone = _ref.endDateTimeZone;
25572
- var startTime = timeZoneType === 'Recipient TimeZone' || timeZoneType === 'RPTZ' ? startsAt : moment.utc(startsAt).local().format('YYYY-MM-DD HH:mm:ss');
25573
+ var isRecipientTZ = timeZoneType === 'Recipient TimeZone' || timeZoneType === 'RPTZ';
25574
+ var startDate = isRecipientTZ ? new Date(String(startsAt).replace(' ', 'T')) : parseAsUTCDate(startsAt);
25573
25575
  var localEndTime = getLocalEndTime({
25574
25576
  endsAt: endsAt,
25575
25577
  timeZoneType: timeZoneType,
25576
25578
  endDateTimeZone: endDateTimeZone
25577
25579
  });
25578
- if (!localEndTime) return false;
25579
- return isOutOfRange(startTime, localEndTime);
25580
+ if (!localEndTime || !startDate) return false;
25581
+ var endDate = new Date(String(localEndTime).replace(' ', 'T'));
25582
+ return startDate < now && now < endDate;
25580
25583
  })(notifications);
25581
25584
  }
25582
- function filterOutNotificationForOtherApps(notifications) {
25583
- var currentApp = window.location.pathname === '/' ? 'home' : window.location.pathname;
25584
- var tilesConfig = storage$1.getLocalItem('opsportal-core:config').tiles || [];
25585
- var tile = tilesConfig.find(function (item) {
25586
- return item.path === currentApp || "".concat(item.path, "/") === currentApp || currentApp.startsWith(item.path);
25587
- }) || {};
25588
- return notifications.filter(function (notification) {
25589
- var targetApps = pathOr$1(null, ['targetAudience', 'targetApplications'])(notification);
25590
- var apps = pathOr$1([], [0, 'applications'])(targetApps);
25591
- if (currentApp === 'home') {
25592
- return targetApps === null || apps.includes("Ops Home");
25593
- } else {
25594
- return targetApps === null || apps.includes(tile.title || '');
25595
- }
25596
- });
25597
- }
25598
- function filterOutNotificationByAudience(notifications) {
25599
- var userEmail = storage$1.userEmail;
25600
- var yardNumber = storage$1.activeYardNumber;
25601
- // const countryCodes = window.location.hostname.includes('.com') ? ["USA", "CAN"] : ["ARE", "OMN", "BHR", "IRL", "GBR"]
25602
- return notifications.filter(function (notification) {
25603
- // if (!countryCodes.includes(notification.countryCode)) return false
25604
- var targets = pathOr$1([], ['targetAudience', 'targets'], notification);
25605
- if (!targets.length) return true;
25606
- return targets.some(function (target) {
25607
- switch (target.type) {
25608
- case 'users':
25609
- var usersList = pathOr$1([], ['emails'])(target);
25610
- return usersList.includes(userEmail);
25611
- case 'groups':
25612
- var groups = pathOr$1([], ['groups'])(target);
25613
- return groups.some(function (group) {
25614
- var users = pathOr$1([], ['users'])(group);
25615
- return users.includes(userEmail) || users.includes('*');
25616
- });
25617
- case 'yards':
25618
- var yards = pathOr$1([], ['yards'], target);
25619
- return yards.includes(yardNumber);
25620
- default:
25621
- return false;
25622
- }
25623
- });
25624
- });
25625
- }
25626
- function filterOutInActiveNotification(notifications) {
25627
- return notifications.filter(function (notification) {
25628
- return (notification === null || notification === void 0 ? void 0 : notification.status) === 'A';
25629
- });
25630
- }
25631
25585
  function filterNotifications(notifications) {
25632
25586
  try {
25633
- return compose(filterOutInActiveNotification, filterOutNotificationByAudience, filterOutViewedNotifications, filterOutExpiredNotifications, filterOutNotificationForOtherApps)(notifications);
25587
+ // filterOutViewedNotifications
25588
+ var viewedNotifications = getViewedNotifications();
25589
+ // filterOutExpiredNotifications
25590
+ var now = new Date();
25591
+ // // Audience and app filtering removed — Solr query targets channel_names directly
25592
+ // // filterOutNotificationByAudience
25593
+ // const userEmail = storage.userEmail
25594
+ // const yardNumber = storage.activeYardNumber
25595
+ // // filterOutNotificationForOtherApps
25596
+ // let currentApp = window.location.pathname === '/' ? 'home' : window.location.pathname
25597
+ // const tilesConfig = storage.getLocalItem('opsportal-core:config').tiles || []
25598
+ // const tile = tilesConfig.find(
25599
+ // (item) =>
25600
+ // item.path === currentApp ||
25601
+ // `${item.path}/` === currentApp ||
25602
+ // currentApp.startsWith(item.path),
25603
+ // ) || {}
25604
+
25605
+ return notifications.filter(function (notification) {
25606
+ // filterOutInActiveNotification
25607
+ if ((notification === null || notification === void 0 ? void 0 : notification.status) !== 'A') return false;
25608
+
25609
+ // filterOutViewedNotifications
25610
+ if (viewedNotifications[notification.notificationId]) return false;
25611
+
25612
+ // filterOutExpiredNotifications
25613
+ var startsAt = notification.startsAt,
25614
+ endsAt = notification.endsAt,
25615
+ timeZoneType = notification.timeZoneType,
25616
+ endDateTimeZone = notification.endDateTimeZone;
25617
+ var isRecipientTZ = timeZoneType === 'Recipient TimeZone' || timeZoneType === 'RPTZ';
25618
+ var startDate = isRecipientTZ ? new Date(String(startsAt).replace(' ', 'T')) : parseAsUTCDate(startsAt);
25619
+ var endDate = !endsAt ? null : isRecipientTZ && endDateTimeZone !== 'UTC' ? new Date(String(endsAt).replace(' ', 'T')) : parseAsUTCDate(endsAt);
25620
+ if (!endDate || !startDate || !(startDate < now && now < endDate)) return false;
25621
+
25622
+ // // filterOutNotificationForOtherApps — handled by channel_names in Solr query
25623
+ // const targetApps = pathOr(null, ['targetAudience', 'targetApplications'])(notification)
25624
+ // const apps = pathOr([], [0, 'applications'])(targetApps)
25625
+ // const appMatch =
25626
+ // currentApp === 'home'
25627
+ // ? targetApps === null || apps.includes('Ops Home')
25628
+ // : targetApps === null || apps.includes(tile.title || '')
25629
+ // if (!appMatch) return false
25630
+
25631
+ // // filterOutNotificationByAudience — handled by channel_names in Solr query
25632
+ // const targets = pathOr([], ['targetAudience', 'targets'], notification)
25633
+ // if (!targets.length) return true
25634
+ // return targets.some((target) => {
25635
+ // switch (target.type) {
25636
+ // case 'users':
25637
+ // return pathOr([], ['emails'])(target).includes(userEmail)
25638
+ // case 'groups':
25639
+ // return pathOr([], ['groups'])(target).some((group) => {
25640
+ // const users = pathOr([], ['users'])(group)
25641
+ // return users.includes(userEmail) || users.includes('*')
25642
+ // })
25643
+ // case 'yards':
25644
+ // return pathOr([], ['yards'], target).includes(yardNumber)
25645
+ // default:
25646
+ // return false
25647
+ // }
25648
+ // })
25649
+
25650
+ return true;
25651
+ });
25634
25652
  } catch (err) {
25635
25653
  console.error(err);
25636
25654
  return notifications;
@@ -25645,23 +25663,21 @@ function getPriorityCode(category) {
25645
25663
  }[category.toLowerCase()];
25646
25664
  }
25647
25665
  function sortNotifications(notifications) {
25648
- var newNotifications = clone$1(notifications);
25649
- var notificationsWithStartTs = newNotifications.map(function (n) {
25650
- var isRecipientTimeZone = n.timeZoneType === 'Recipient TimeZone' || n.timeZoneType === 'RPTZ';
25651
- var localStart = isRecipientTimeZone ? n.startsAt : moment.utc(n.startsAt).local().format('YYYY-MM-DD HH:mm:ss');
25652
- var startTimestamp = localStart ? new Date(localStart).getTime() : 0;
25653
- return _objectSpread2(_objectSpread2({}, n), {}, {
25654
- _startTimestamp: startTimestamp
25655
- });
25656
- });
25657
- var dateSortedNotifications = notificationsWithStartTs.sort(function (a, b) {
25658
- return b._startTimestamp - a._startTimestamp;
25659
- });
25660
25666
  try {
25661
- return sortWith$1([ascend$1(compose(getPriorityCode, prop$1('categoryDescription')))], dateSortedNotifications);
25667
+ return _toConsumableArray(notifications).map(function (n) {
25668
+ var isRecipientTZ = n.timeZoneType === 'Recipient TimeZone' || n.timeZoneType === 'RPTZ';
25669
+ var startDate = isRecipientTZ ? new Date(String(n.startsAt).replace(' ', 'T')) : parseAsUTCDate(n.startsAt);
25670
+ return _objectSpread2(_objectSpread2({}, n), {}, {
25671
+ _startTimestamp: startDate ? startDate.getTime() : 0,
25672
+ _priorityCode: getPriorityCode(n.categoryDescription)
25673
+ });
25674
+ }).sort(function (a, b) {
25675
+ var priorityDiff = (a._priorityCode != null ? a._priorityCode : 99) - (b._priorityCode != null ? b._priorityCode : 99);
25676
+ return priorityDiff !== 0 ? priorityDiff : b._startTimestamp - a._startTimestamp;
25677
+ });
25662
25678
  } catch (err) {
25663
25679
  console.error(err);
25664
- return dateSortedNotifications;
25680
+ return _toConsumableArray(notifications);
25665
25681
  }
25666
25682
  }
25667
25683
  startsWith$1('http://');
@@ -25693,9 +25709,10 @@ var getTimeDiff = function getTimeDiff(startsAt) {
25693
25709
  }
25694
25710
  return '';
25695
25711
  };
25712
+ var SANITIZE_REGEX = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>|<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi;
25696
25713
  var SanitizeNotificationContent = function SanitizeNotificationContent(str) {
25697
- var regex = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>|<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi;
25698
- return str.replace(regex, '');
25714
+ SANITIZE_REGEX.lastIndex = 0;
25715
+ return str.replace(SANITIZE_REGEX, '');
25699
25716
  };
25700
25717
 
25701
25718
  var useWindowSize = function useWindowSize() {
@@ -26063,6 +26080,31 @@ var Banner = function Banner(props) {
26063
26080
  return mainNotificationBar();
26064
26081
  };
26065
26082
 
26083
+ var ESTIMATED_ITEM_HEIGHT = 80;
26084
+ var OVERSCAN = 3;
26085
+ function buildOffsets(count, itemHeights) {
26086
+ var offsets = new Array(count + 1);
26087
+ offsets[0] = 0;
26088
+ for (var i = 0; i < count; i++) {
26089
+ offsets[i + 1] = offsets[i] + (itemHeights[i] || ESTIMATED_ITEM_HEIGHT) + 6;
26090
+ }
26091
+ return offsets;
26092
+ }
26093
+
26094
+ // Binary search: find the last index whose offset is <= scrollTop
26095
+ function findStartIndex(offsets, scrollTop) {
26096
+ var lo = 0;
26097
+ var hi = offsets.length - 2;
26098
+ while (lo < hi) {
26099
+ var mid = lo + hi + 1 >> 1;
26100
+ if (offsets[mid] <= scrollTop) {
26101
+ lo = mid;
26102
+ } else {
26103
+ hi = mid - 1;
26104
+ }
26105
+ }
26106
+ return lo;
26107
+ }
26066
26108
  var Notifications = function Notifications(_ref) {
26067
26109
  var notifications = _ref.notifications,
26068
26110
  _onDismiss = _ref.onDismiss;
@@ -26093,6 +26135,79 @@ var Notifications = function Notifications(_ref) {
26093
26135
  }
26094
26136
  setLast(notifications.length - 1);
26095
26137
  }, [notifications]);
26138
+
26139
+ // Virtualizer state for the sidebar list
26140
+ var scrollRef = React.useRef(null);
26141
+ var itemHeightsRef = React.useRef({});
26142
+ var _useState5 = React.useState(0),
26143
+ _useState6 = _slicedToArray(_useState5, 2),
26144
+ scrollTop = _useState6[0],
26145
+ setScrollTop = _useState6[1];
26146
+ var _useState7 = React.useState(600),
26147
+ _useState8 = _slicedToArray(_useState7, 2),
26148
+ viewportHeight = _useState8[0],
26149
+ setViewportHeight = _useState8[1];
26150
+ var rafPendingRef = React.useRef(false);
26151
+ var _useState9 = React.useState(0),
26152
+ _useState0 = _slicedToArray(_useState9, 2),
26153
+ forceUpdate = _useState0[1];
26154
+ React.useEffect(function () {
26155
+ var el = scrollRef.current;
26156
+ if (!el) return;
26157
+ var handleScroll = function handleScroll() {
26158
+ return setScrollTop(el.scrollTop);
26159
+ };
26160
+ var ro = new ResizeObserver(function (entries) {
26161
+ var _iterator = _createForOfIteratorHelper(entries),
26162
+ _step;
26163
+ try {
26164
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
26165
+ var entry = _step.value;
26166
+ setViewportHeight(entry.contentRect.height);
26167
+ }
26168
+ } catch (err) {
26169
+ _iterator.e(err);
26170
+ } finally {
26171
+ _iterator.f();
26172
+ }
26173
+ });
26174
+ el.addEventListener('scroll', handleScroll, {
26175
+ passive: true
26176
+ });
26177
+ ro.observe(el);
26178
+ return function () {
26179
+ el.removeEventListener('scroll', handleScroll);
26180
+ ro.disconnect();
26181
+ };
26182
+ }, [showSideBar]);
26183
+
26184
+ // Ref callback: measures rendered item height and triggers a rAF-batched re-render
26185
+ // when the measured height differs from the cached value.
26186
+ var measureItem = React.useCallback(function (index) {
26187
+ return function (node) {
26188
+ if (!node) return;
26189
+ var height = node.getBoundingClientRect().height;
26190
+ if (itemHeightsRef.current[index] === height) return;
26191
+ itemHeightsRef.current[index] = height;
26192
+ if (!rafPendingRef.current) {
26193
+ rafPendingRef.current = true;
26194
+ requestAnimationFrame(function () {
26195
+ rafPendingRef.current = false;
26196
+ forceUpdate(function (n) {
26197
+ return n + 1;
26198
+ });
26199
+ });
26200
+ }
26201
+ };
26202
+ }, []);
26203
+ var count = notifications.length;
26204
+ var offsets = buildOffsets(count, itemHeightsRef.current);
26205
+ var totalHeight = offsets[count];
26206
+ var rawStart = findStartIndex(offsets, scrollTop);
26207
+ var startIdx = Math.max(0, rawStart - OVERSCAN);
26208
+ var endRaw = rawStart;
26209
+ while (endRaw < count && offsets[endRaw] < scrollTop + viewportHeight) endRaw++;
26210
+ var endIdx = Math.min(count - 1, endRaw + OVERSCAN);
26096
26211
  var notification = notifications[i];
26097
26212
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !isNil$1(notification) && !showSideBar ? /*#__PURE__*/React__default["default"].createElement(Banner, _extends$1({
26098
26213
  current: i + 1,
@@ -26110,21 +26225,45 @@ var Notifications = function Notifications(_ref) {
26110
26225
  notificationsTopContainerRef: notificationsTopContainerRef,
26111
26226
  mobileNotificationsTopContainerRef: mobileNotificationsTopContainerRef,
26112
26227
  setNotificationHeightFlag: setNotificationHeightFlag
26113
- })) : null, notifications.length > 0 && showSideBar ? notifications.map(function (notification) {
26114
- return /*#__PURE__*/React__default["default"].createElement(Banner, _extends$1({
26115
- key: notification.notificationId,
26228
+ })) : null, count > 0 && showSideBar ? /*#__PURE__*/React__default["default"].createElement("div", {
26229
+ ref: scrollRef,
26230
+ style: {
26231
+ height: '100%',
26232
+ overflowY: 'auto',
26233
+ overflowX: 'hidden'
26234
+ }
26235
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
26236
+ style: {
26237
+ height: totalHeight,
26238
+ position: 'relative',
26239
+ width: '100%'
26240
+ }
26241
+ }, Array.from({
26242
+ length: endIdx - startIdx + 1
26243
+ }, function (_, rel) {
26244
+ var index = startIdx + rel;
26245
+ return /*#__PURE__*/React__default["default"].createElement("div", {
26246
+ key: notifications[index].notificationId || index,
26247
+ ref: measureItem(index),
26248
+ style: {
26249
+ position: 'absolute',
26250
+ top: offsets[index],
26251
+ left: 0,
26252
+ width: '100%'
26253
+ }
26254
+ }, /*#__PURE__*/React__default["default"].createElement(Banner, _extends$1({
26116
26255
  current: i + 1,
26117
26256
  count: notifications.length,
26118
26257
  showNavButtons: false,
26119
26258
  onDismiss: function onDismiss() {
26120
- return _onDismiss(notification);
26259
+ return _onDismiss(notifications[index]);
26121
26260
  }
26122
- }, notification, {
26261
+ }, notifications[index], {
26123
26262
  showSideBar: showSideBar,
26124
26263
  ActionComponent: ActionComponent,
26125
26264
  saveActionComponentState: saveActionComponentState
26126
- }));
26127
- }) : null);
26265
+ })));
26266
+ }))) : null);
26128
26267
  };
26129
26268
 
26130
26269
  var capitalizeAndReplaceUnderscores = function capitalizeAndReplaceUnderscores(role) {
@@ -28970,26 +29109,9 @@ var getCurrentApp = function getCurrentApp() {
28970
29109
  return app;
28971
29110
  };
28972
29111
  var buildTargetingClause = function buildTargetingClause(yardNumber, email) {
28973
- encodeURIComponent(getCurrentApp());
28974
- // const clauses = [
28975
- // `(facilities:${yardNumber} AND -user_details:* AND -applications:* AND -group_user_details:*)`,
28976
- // `(-facilities:* AND user_details:"${email}" AND -applications:* AND -group_user_details:*)`,
28977
- // `(-facilities:* AND -user_details:* AND applications:"${app}" AND -group_user_details:*)`,
28978
- // `(-facilities:* AND -user_details:* AND -applications:* AND group_user_details:"${email}")`,
28979
- // `(facilities:${yardNumber} AND user_details:"${email}" AND -applications:* AND -group_user_details:*)`,
28980
- // `(facilities:${yardNumber} AND -user_details:* AND applications:"${app}" AND -group_user_details:*)`,
28981
- // `(facilities:${yardNumber} AND -user_details:* AND -applications:* AND group_user_details:"${email}")`,
28982
- // `(-facilities:* AND user_details:"${email}" AND applications:"${app}" AND -group_user_details:*)`,
28983
- // `(-facilities:* AND user_details:"${email}" AND -applications:* AND group_user_details:"${email}")`,
28984
- // `(-facilities:* AND -user_details:* AND applications:"${app}" AND group_user_details:"${email}")`,
28985
- // `(facilities:${yardNumber} AND user_details:"${email}" AND applications:"${app}" AND -group_user_details:*)`,
28986
- // `(facilities:${yardNumber} AND user_details:"${email}" AND -applications:* AND group_user_details:"${email}")`,
28987
- // `(facilities:${yardNumber} AND -user_details:* AND applications:"${app}" AND group_user_details:"${email}")`,
28988
- // `(-facilities:* AND user_details:"${email}" AND applications:"${app}" AND group_user_details:"${email}")`,
28989
- // `(facilities:${yardNumber} AND user_details:"${email}" AND applications:"${app}" AND group_user_details:"${email}")`,
28990
- // ]
28991
- // return clauses.join(' OR ')
28992
- return "(facilities:".concat(yardNumber, " OR user_details:\"").concat(email, "\" OR group_user_details:\"").concat(email, "\")");
29112
+ var app = encodeURIComponent(getCurrentApp());
29113
+ var clauses = ["(channel_names:".concat(yardNumber, ")"), "(channel_names:\"".concat(email, "\")"), "(channel_names:\"".concat(app, "\")"), "(channel_names:\"".concat(yardNumber, "%7C").concat(app, "\")"), "(channel_names:\"".concat(email, "%7C").concat(app, "\")")];
29114
+ return clauses.join(' OR ');
28993
29115
  };
28994
29116
  var generateQuery = function generateQuery(yardNumber, email) {
28995
29117
  var startDateTs = moment(new Date()).add(1, 'days').local().format('YYYY-MM-DDTHH:mm:ss[Z]');
@@ -28997,7 +29119,7 @@ var generateQuery = function generateQuery(yardNumber, email) {
28997
29119
  var startDateTsUTC = moment.utc(new Date()).add(1, 'days').format('YYYY-MM-DDTHH:mm:ss[Z]');
28998
29120
  var EndDateTsUTC = moment.utc(new Date()).format('YYYY-MM-DDTHH:mm:ss[Z]');
28999
29121
  var targetingClause = buildTargetingClause(yardNumber, email);
29000
- return "fq=(".concat(targetingClause, ")&fq=((start_date_timezone:\"UTC\" AND end_date_timezone:\"UTC\" AND start_date_ts_utc:[* TO ").concat(startDateTsUTC, "] AND end_date_ts_utc:[").concat(EndDateTsUTC, " TO *]) OR (!start_date_timezone:\"UTC\" AND !end_date_timezone:\"UTC\" AND start_date_ts_utc:[* TO ").concat(startDateTs, "] AND end_date_ts_utc:[").concat(EndDateTs, " TO *]) OR (!start_date_timezone:\"UTC\" AND end_date_timezone:\"UTC\" AND start_date_ts_utc:[* TO ").concat(startDateTs, "] AND end_date_ts_utc:[").concat(EndDateTsUTC, " TO *]))&fq=status:A&rows=10000&q=*:*");
29122
+ return "fq=(".concat(targetingClause, ")&fq=((start_date_timezone:\"UTC\" AND end_date_timezone:\"UTC\" AND start_date_ts_utc:[* TO ").concat(startDateTsUTC, "] AND end_date_ts_utc:[").concat(EndDateTsUTC, " TO *]) OR (!start_date_timezone:\"UTC\" AND !end_date_timezone:\"UTC\" AND start_date_ts_utc:[* TO ").concat(startDateTs, "] AND end_date_ts_utc:[").concat(EndDateTs, " TO *]) OR (!start_date_timezone:\"UTC\" AND end_date_timezone:\"UTC\" AND start_date_ts_utc:[* TO ").concat(startDateTs, "] AND end_date_ts_utc:[").concat(EndDateTsUTC, " TO *]))&fq=status:A&rows=1000&q=*:*");
29001
29123
  };
29002
29124
  var generateTargets = function generateTargets(notification) {
29003
29125
  var targets = [];
@@ -29081,6 +29203,9 @@ function fetchG2Notifications(updateNotifications, updateAllNotificationsList) {
29081
29203
  });
29082
29204
  compose(updateNotifications, filterNotifications)(modifiedNotifications);
29083
29205
  updateAllNotificationsList(modifiedNotifications, true);
29206
+ // Prune expired entries from viewedNotifications after the main logic
29207
+ // settles. Deferred so it never blocks the notifications render.
29208
+ setTimeout(pruneExpiredViewedNotifications, 0);
29084
29209
  }).catch(function (e) {
29085
29210
  console.log(e);
29086
29211
  });
@@ -29091,7 +29216,10 @@ function startWebSocketConnection(updateNotifications, updateAllNotificationsLis
29091
29216
  var onOpen = callbacks.onOpen,
29092
29217
  onClose = callbacks.onClose;
29093
29218
  var coreAppConfig = storage$1.getLocalItem('opsportal-core:config');
29094
- var webSocketURL = "".concat(coreAppConfig.webSocketURL, "/").concat((_storage$getSessionIt = storage$1.getSessionItem('dashboard')) === null || _storage$getSessionIt === void 0 ? void 0 : _storage$getSessionIt.selectedYard, ",").concat(storage$1.userEmail, ",").concat(encodeURIComponent(getCurrentApp()));
29219
+ var currentApp = encodeURIComponent(getCurrentApp());
29220
+ var selectedYard = (_storage$getSessionIt = storage$1.getSessionItem('dashboard')) === null || _storage$getSessionIt === void 0 ? void 0 : _storage$getSessionIt.selectedYard;
29221
+ var userEmail = storage$1.userEmail;
29222
+ var webSocketURL = "".concat(coreAppConfig.webSocketURL, "/").concat(selectedYard, ",").concat(userEmail, ",").concat(currentApp, ",").concat(selectedYard, "|").concat(currentApp, ",").concat(userEmail, "|").concat(currentApp);
29095
29223
  var domain = window.location.hostname.slice(window.location.hostname.indexOf('.copart'));
29096
29224
  var selectedCountryA3code = (_storage$getSessionIt2 = storage$1.getSessionItem('dashboard')) === null || _storage$getSessionIt2 === void 0 ? void 0 : _storage$getSessionIt2.selectedCountryA3code;
29097
29225
  var notificationCountry = selectedCountryA3code;