@copart/ops-tool-kit 1.13.0-beta.14 → 1.13.0-beta.16
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/dist/ops-tool-kit.js +185 -24
- package/dist/ops-tool-kit.js.map +1 -1
- package/package.json +2 -2
package/dist/ops-tool-kit.js
CHANGED
|
@@ -6,7 +6,7 @@ var React = require('react');
|
|
|
6
6
|
var ReactDOM = require('react-dom');
|
|
7
7
|
var frontEndUtils = require('@copart/front-end-utils');
|
|
8
8
|
var coreComponents = require('@copart/core-components');
|
|
9
|
-
var
|
|
9
|
+
var ReactRouterDOM = require('react-router-dom');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -46,9 +46,10 @@ function _mergeNamespaces(n, m) {
|
|
|
46
46
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
47
47
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
48
48
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
49
|
+
var ReactRouterDOM__namespace = /*#__PURE__*/_interopNamespace(ReactRouterDOM);
|
|
49
50
|
|
|
50
51
|
const name$1 = "@copart/ops-tool-kit";
|
|
51
|
-
const version$3 = "1.13.0-beta.
|
|
52
|
+
const version$3 = "1.13.0-beta.16";
|
|
52
53
|
const main$1 = "dist/ops-tool-kit.js";
|
|
53
54
|
const style = "dist/ops-tool-kit.css";
|
|
54
55
|
const files = [
|
|
@@ -109,7 +110,7 @@ const devDependencies$1 = {
|
|
|
109
110
|
const peerDependencies = {
|
|
110
111
|
"@copart/core-components": "2.3.0-alpha.filters.6",
|
|
111
112
|
react: "*",
|
|
112
|
-
"react-router-dom": "^5.0.0"
|
|
113
|
+
"react-router-dom": "^5.0.0 || ^6.0.0"
|
|
113
114
|
};
|
|
114
115
|
const dependencies$1 = {
|
|
115
116
|
"@reacting/purist": "0.1.0",
|
|
@@ -63586,6 +63587,7 @@ var formatNumber = function formatNumber(number) {
|
|
|
63586
63587
|
/**
|
|
63587
63588
|
* Default badge color thresholds used by many portal apps (e.g. MiOrg open tasks).
|
|
63588
63589
|
* Matches legacy getStatus(count) logic: >1000 → 1, >500 → 2, >0 → 3.
|
|
63590
|
+
* Optional declarative fallback when apps prefer not to pre-resolve status in iframe mode.
|
|
63589
63591
|
*/
|
|
63590
63592
|
var STANDARD_NAV_COUNT_THRESHOLDS = [{
|
|
63591
63593
|
above: 1000,
|
|
@@ -63598,6 +63600,38 @@ var STANDARD_NAV_COUNT_THRESHOLDS = [{
|
|
|
63598
63600
|
status: 3
|
|
63599
63601
|
}];
|
|
63600
63602
|
|
|
63603
|
+
/**
|
|
63604
|
+
* @typedef {number|string} NavCountValue
|
|
63605
|
+
* @typedef {{ count?: NavCountValue, status?: number }} NavCountEntryObject
|
|
63606
|
+
* @typedef {NavCountValue|NavCountEntryObject} NavCountEntry
|
|
63607
|
+
*/
|
|
63608
|
+
|
|
63609
|
+
/**
|
|
63610
|
+
* Normalize a nav count payload entry to { count, status }.
|
|
63611
|
+
* Accepts a plain number/string or { count, status } from iframe UPDATE_NAV_COUNTS.
|
|
63612
|
+
*
|
|
63613
|
+
* @param {NavCountEntry|null|undefined} entry
|
|
63614
|
+
* @returns {{ count: NavCountValue|undefined, status: number|undefined }}
|
|
63615
|
+
*/
|
|
63616
|
+
function normalizeNavCountEntry(entry) {
|
|
63617
|
+
if (entry == null) {
|
|
63618
|
+
return {
|
|
63619
|
+
count: undefined,
|
|
63620
|
+
status: undefined
|
|
63621
|
+
};
|
|
63622
|
+
}
|
|
63623
|
+
if (_typeof$1(entry) === 'object' && !Array.isArray(entry)) {
|
|
63624
|
+
return {
|
|
63625
|
+
count: entry.count,
|
|
63626
|
+
status: entry.status != null ? entry.status : undefined
|
|
63627
|
+
};
|
|
63628
|
+
}
|
|
63629
|
+
return {
|
|
63630
|
+
count: entry,
|
|
63631
|
+
status: undefined
|
|
63632
|
+
};
|
|
63633
|
+
}
|
|
63634
|
+
|
|
63601
63635
|
/**
|
|
63602
63636
|
* Resolve badge status from a count using getStatus (in-app) or countStatusThresholds (iframe shell).
|
|
63603
63637
|
*
|
|
@@ -63624,6 +63658,67 @@ function resolveCountStatus(count) {
|
|
|
63624
63658
|
return undefined;
|
|
63625
63659
|
}
|
|
63626
63660
|
|
|
63661
|
+
/**
|
|
63662
|
+
* Resolve count display value and badge status for NavigationBar.
|
|
63663
|
+
* Pre-resolved status from iframe payloads takes priority over local navItem rules.
|
|
63664
|
+
*
|
|
63665
|
+
* @param {NavCountEntry|null|undefined} entry
|
|
63666
|
+
* @param {{ getStatus?: (n: number) => number, countStatusThresholds?: Array<{ above?: number, min?: number, status: number }> }} navItem
|
|
63667
|
+
* @returns {{ count: number|undefined, status: number|undefined }}
|
|
63668
|
+
*/
|
|
63669
|
+
function resolveNavCountDisplay(entry) {
|
|
63670
|
+
var navItem = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
63671
|
+
var _normalizeNavCountEnt = normalizeNavCountEntry(entry),
|
|
63672
|
+
rawCount = _normalizeNavCountEnt.count,
|
|
63673
|
+
preResolvedStatus = _normalizeNavCountEnt.status;
|
|
63674
|
+
if (rawCount == null || rawCount === '') {
|
|
63675
|
+
return {
|
|
63676
|
+
count: undefined,
|
|
63677
|
+
status: undefined
|
|
63678
|
+
};
|
|
63679
|
+
}
|
|
63680
|
+
var num = Number(rawCount);
|
|
63681
|
+
if (Number.isNaN(num)) {
|
|
63682
|
+
return {
|
|
63683
|
+
count: undefined,
|
|
63684
|
+
status: undefined
|
|
63685
|
+
};
|
|
63686
|
+
}
|
|
63687
|
+
var status = preResolvedStatus;
|
|
63688
|
+
if (status == null) {
|
|
63689
|
+
status = resolveCountStatus(num, navItem);
|
|
63690
|
+
}
|
|
63691
|
+
return {
|
|
63692
|
+
count: num,
|
|
63693
|
+
status: status
|
|
63694
|
+
};
|
|
63695
|
+
}
|
|
63696
|
+
|
|
63697
|
+
/**
|
|
63698
|
+
* Build a nav count payload entry from a count and optional nav item getStatus callback.
|
|
63699
|
+
* Use inside iframe apps before posting UPDATE_NAV_COUNTS so arbitrary getStatus logic
|
|
63700
|
+
* runs in the app while only serializable data crosses postMessage.
|
|
63701
|
+
*
|
|
63702
|
+
* @param {NavCountValue|null|undefined} count
|
|
63703
|
+
* @param {{ getStatus?: (n: number) => number|null|undefined }} [navItem]
|
|
63704
|
+
* @returns {NavCountEntry|undefined}
|
|
63705
|
+
*/
|
|
63706
|
+
function buildNavCountEntry(count, navItem) {
|
|
63707
|
+
if (count == null || count === '') return undefined;
|
|
63708
|
+
var num = Number(count);
|
|
63709
|
+
if (Number.isNaN(num)) return undefined;
|
|
63710
|
+
if (typeof (navItem === null || navItem === void 0 ? void 0 : navItem.getStatus) === 'function') {
|
|
63711
|
+
var status = navItem.getStatus(num);
|
|
63712
|
+
if (status != null) {
|
|
63713
|
+
return {
|
|
63714
|
+
count: num,
|
|
63715
|
+
status: status
|
|
63716
|
+
};
|
|
63717
|
+
}
|
|
63718
|
+
}
|
|
63719
|
+
return num;
|
|
63720
|
+
}
|
|
63721
|
+
|
|
63627
63722
|
var css_248z$2 = ".utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer {\r\n display: flex;\r\n flex-direction: column;\r\n position: absolute;\r\n background: #3A4454;\r\n min-width: 50px;\r\n max-width: 50px;\r\n height: 100%;\r\n color: #ffffff;\r\n font-size: 14px;\r\n z-index: 101;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu {\r\n min-width: 70px;\r\n max-width: 70px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--withCounts {\r\n min-width: 100px;\r\n max-width: 100px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader {\r\n min-width: 0px;\r\n max-width: 0px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen {\r\n max-width: 500px;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: none;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton.utilities_ops-app-frame_NavigationBar_NavigationBar--showExpandIcons{\r\n min-width: auto;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton{\r\n min-width: auto;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenu {\r\n flex: 1;\r\n overflow-y: auto;\r\n -ms-overflow-style: none;\r\n scrollbar-width: none;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenu::-webkit-scrollbar { \r\n display: none;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem {\r\n display: flex;\r\n width: 100%;\r\n padding: 6px 12px 6px 12px;\r\n border-radius: 5px;\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--disabled {\r\n cursor: default;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemSelected {\r\n color: #323130;\r\n background-color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemSelectedStatus {\r\n color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n margin-left: auto;\r\n margin-right: 10px;\r\n min-width: none;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--withCounts:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--countsAvailable .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: 70px;\r\n text-align: right;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--countsAvailable:not(:hover) .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: auto;\r\n text-align: auto;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: 70px !important;\r\n text-align: right !important;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--expandedMenu {\r\n background-color: #73A6FF;\r\n transition: background-color 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i {\r\n margin-left: auto;\r\n font-size: 12px;\r\n color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--selected .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n color: #323130;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemCount {\r\n margin: 0 10px 0 auto;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon {\r\n min-width: 20px;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon i {\r\n font-size: 14px;\r\n /* width: 20px; */\r\n color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--disabled .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon i {\r\n color: #A19F9D;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemSelected .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon i{\r\n color: #323130;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemSelectedStatus .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon i{\r\n color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemSelected .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n color: #323130;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemSelectedStatus .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1NoHover .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n margin-right: 6px !important;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--disabled .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i {\r\n color: #A19F9D;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n font-size: 0px;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton.utilities_ops-app-frame_NavigationBar_NavigationBar--showExpandIcons i, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n font-size: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n font-size: 12px;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName {\r\n max-width: 0;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n margin-top: 2px;\r\n font-weight: 100;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName {\r\n max-width: 100%;\r\n margin: 2px 10px 0 10px;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--disabled .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName {\r\n color: #A19F9D;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName {\r\n max-width: 100%;\r\n margin: 0 5px 0 0;\r\n font-weight: 600;\r\n margin-left: 0px;\r\n cursor: auto;\r\n cursor: initial;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName {\r\n cursor: pointer;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName {\r\n margin: 0;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon {\r\n margin-right: 0px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem {\r\n padding-left: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemName > span {\r\n display: inline;\r\n display: initial;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n margin-left: auto;\r\n margin-right: 10px;\r\n min-width: none;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu.utilities_ops-app-frame_NavigationBar_NavigationBar--withCounts:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu.utilities_ops-app-frame_NavigationBar_NavigationBar--countsAvailable .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: 70px;\r\n text-align: right;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu.utilities_ops-app-frame_NavigationBar_NavigationBar--countsAvailable:not(:hover) .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: auto;\r\n text-align: auto;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton {\r\n min-width: 70px !important;\r\n text-align: right !important;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i {\r\n margin-left: auto;\r\n font-size: 12px;\r\n color: #fff;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem.utilities_ops-app-frame_NavigationBar_NavigationBar--selected .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n color: #323130;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton.utilities_ops-app-frame_NavigationBar_NavigationBar--showExpandIcons i{\r\n font-size: 12px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 > .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--expandButton i{\r\n font-size: 12px;\r\n transition-delay: 0.25s;\r\n}\r\n\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--level3Menu .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel2 .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItemIcon {\r\n margin-right: 6px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel3 {\r\n display: flex;\r\n position: relative;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel3 .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem {\r\n padding: 6px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--statusColor {\r\n position: absolute;\r\n width: 10px;\r\n height: 95%;\r\n left: -13px;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--level1NavItem {\r\n width: 13px;\r\n margin-left: 1px;\r\n transition: all 0.5s ease-in-out;\r\n}\r\n\r\n.utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer:not(.utilities_ops-app-frame_NavigationBar_NavigationBar--showNavIconInHeader):hover .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--level1NavItem, .utilities_ops-app-frame_NavigationBar_NavigationBar--NavBarContainer.utilities_ops-app-frame_NavigationBar_NavigationBar--navBarOpen .utilities_ops-app-frame_NavigationBar_NavigationBar--NavMenuLevel1 .utilities_ops-app-frame_NavigationBar_NavigationBar--NavItem .utilities_ops-app-frame_NavigationBar_NavigationBar--level1NavItem {\r\n width: 100%;\r\n margin-left: 1px;\r\n transition-delay: 0.25s;\r\n}";
|
|
63628
63723
|
styleInject(css_248z$2);
|
|
63629
63724
|
|
|
@@ -64338,7 +64433,7 @@ var NavigationMenuLevel2 = function NavigationMenuLevel2(_ref5) {
|
|
|
64338
64433
|
isHover: isHover,
|
|
64339
64434
|
showNavIconInHeader: showNavIconInHeader,
|
|
64340
64435
|
navItem: subItem,
|
|
64341
|
-
|
|
64436
|
+
countEntry: counts && counts[subItem.route],
|
|
64342
64437
|
countsLoading: countsLoading,
|
|
64343
64438
|
selected: selected,
|
|
64344
64439
|
navigateToItem: navigateToItem,
|
|
@@ -64353,7 +64448,7 @@ var NavigationMenuLevel2 = function NavigationMenuLevel2(_ref5) {
|
|
|
64353
64448
|
};
|
|
64354
64449
|
var NavigationMenuLevel3 = function NavigationMenuLevel3(_ref6) {
|
|
64355
64450
|
var navItem = _ref6.navItem,
|
|
64356
|
-
|
|
64451
|
+
countEntry = _ref6.countEntry,
|
|
64357
64452
|
countsLoading = _ref6.countsLoading,
|
|
64358
64453
|
isHover = _ref6.isHover,
|
|
64359
64454
|
showNavIconInHeader = _ref6.showNavIconInHeader,
|
|
@@ -64368,12 +64463,15 @@ var NavigationMenuLevel3 = function NavigationMenuLevel3(_ref6) {
|
|
|
64368
64463
|
_ref6$showLevel3Navig = _ref6.showLevel3Navigation,
|
|
64369
64464
|
showLevel3Navigation = _ref6$showLevel3Navig === void 0 ? false : _ref6$showLevel3Navig;
|
|
64370
64465
|
var isHoverEnabled = showNavIconInHeader || isHover;
|
|
64371
|
-
var
|
|
64372
|
-
|
|
64373
|
-
|
|
64374
|
-
|
|
64375
|
-
|
|
64376
|
-
|
|
64466
|
+
var _resolveNavCountDispl = resolveNavCountDisplay(countEntry, navItem),
|
|
64467
|
+
count = _resolveNavCountDispl.count,
|
|
64468
|
+
status = _resolveNavCountDispl.status;
|
|
64469
|
+
var countText;
|
|
64470
|
+
if (count != null && count !== '') {
|
|
64471
|
+
countText = !isHoverEnabled ? formatNumber(count) : count;
|
|
64472
|
+
}
|
|
64473
|
+
var statusColor;
|
|
64474
|
+
if (status != null) statusColor = statusColors[status];
|
|
64377
64475
|
var position = (navItem === null || navItem === void 0 ? void 0 : navItem.statusColorPosition) || '';
|
|
64378
64476
|
var isDisabled = typeof navItem.disabled === 'function' ? navItem.disabled() : navItem.disabled;
|
|
64379
64477
|
|
|
@@ -68379,9 +68477,12 @@ function postNavConfig(navItems) {
|
|
|
68379
68477
|
|
|
68380
68478
|
/**
|
|
68381
68479
|
* Push nav badge counts to the shell.
|
|
68382
|
-
* @param {Record<string, Record<string,
|
|
68383
|
-
* Top-level menu route
|
|
68384
|
-
*
|
|
68480
|
+
* @param {Record<string, Record<string, import('../utilities/navCountStatus').NavCountEntry>>} countsByMenu
|
|
68481
|
+
* Top-level menu route → sub-route counts. Each value may be:
|
|
68482
|
+
* - a plain number (count only, no badge color), or
|
|
68483
|
+
* - `{ count, status }` where status is pre-resolved in the iframe (1|2|3).
|
|
68484
|
+
* Example:
|
|
68485
|
+
* { tasks: { 'open-tasks': { count: 750, status: 2 } }, admin: { 'staged-users': 12 } }
|
|
68385
68486
|
*/
|
|
68386
68487
|
function postNavCounts(countsByMenu) {
|
|
68387
68488
|
if (!countsByMenu || _typeof$1(countsByMenu) !== 'object') return;
|
|
@@ -69725,13 +69826,68 @@ function serializeNavItems(items) {
|
|
|
69725
69826
|
});
|
|
69726
69827
|
}
|
|
69727
69828
|
|
|
69829
|
+
/**
|
|
69830
|
+
* True when the host app uses react-router-dom v6+ (`useNavigate` present, `useHistory` removed).
|
|
69831
|
+
*/
|
|
69832
|
+
var IS_REACT_ROUTER_V6 = typeof ReactRouterDOM__namespace.useNavigate === 'function' && typeof ReactRouterDOM__namespace.useHistory !== 'function';
|
|
69833
|
+
function normalizeNavigateTarget(to) {
|
|
69834
|
+
if (typeof to === 'string') return normalizeIframePath(to);
|
|
69835
|
+
return to;
|
|
69836
|
+
}
|
|
69837
|
+
function useRouterNavigationV5() {
|
|
69838
|
+
var history = ReactRouterDOM__namespace.useHistory();
|
|
69839
|
+
var location = ReactRouterDOM__namespace.useLocation();
|
|
69840
|
+
var navigate = React.useCallback(function (to, options) {
|
|
69841
|
+
if (typeof to === 'number') {
|
|
69842
|
+
history.go(to);
|
|
69843
|
+
return;
|
|
69844
|
+
}
|
|
69845
|
+
var target = normalizeNavigateTarget(to);
|
|
69846
|
+
if ((options === null || options === void 0 ? void 0 : options.state) != null) history.push(target, options.state);else if (options !== null && options !== void 0 && options.replace) history.replace(target);else history.push(target);
|
|
69847
|
+
}, [history]);
|
|
69848
|
+
return {
|
|
69849
|
+
navigate: navigate,
|
|
69850
|
+
location: location
|
|
69851
|
+
};
|
|
69852
|
+
}
|
|
69853
|
+
function useRouterNavigationV6() {
|
|
69854
|
+
var navigateFn = ReactRouterDOM__namespace.useNavigate();
|
|
69855
|
+
var location = ReactRouterDOM__namespace.useLocation();
|
|
69856
|
+
var navigate = React.useCallback(function (to, options) {
|
|
69857
|
+
if (typeof to === 'number') {
|
|
69858
|
+
navigateFn(to);
|
|
69859
|
+
return;
|
|
69860
|
+
}
|
|
69861
|
+
var target = normalizeNavigateTarget(to);
|
|
69862
|
+
if ((options === null || options === void 0 ? void 0 : options.state) != null || options !== null && options !== void 0 && options.replace) {
|
|
69863
|
+
navigateFn(target, {
|
|
69864
|
+
state: options === null || options === void 0 ? void 0 : options.state,
|
|
69865
|
+
replace: options === null || options === void 0 ? void 0 : options.replace
|
|
69866
|
+
});
|
|
69867
|
+
} else {
|
|
69868
|
+
navigateFn(target);
|
|
69869
|
+
}
|
|
69870
|
+
}, [navigateFn]);
|
|
69871
|
+
return {
|
|
69872
|
+
navigate: navigate,
|
|
69873
|
+
location: location
|
|
69874
|
+
};
|
|
69875
|
+
}
|
|
69876
|
+
|
|
69877
|
+
/**
|
|
69878
|
+
* Router-agnostic navigation for iframe shell components.
|
|
69879
|
+
* Uses `useHistory` on react-router-dom v5 and `useNavigate` on v6.
|
|
69880
|
+
*/
|
|
69881
|
+
var useRouterNavigation = IS_REACT_ROUTER_V6 ? useRouterNavigationV6 : useRouterNavigationV5;
|
|
69882
|
+
|
|
69728
69883
|
function IframeRouteSync(_ref) {
|
|
69729
69884
|
var _ref$updateUriIsPath = _ref.updateUriIsPath,
|
|
69730
69885
|
updateUriIsPath = _ref$updateUriIsPath === void 0 ? false : _ref$updateUriIsPath,
|
|
69731
69886
|
_ref$suppressEcho = _ref.suppressEcho,
|
|
69732
69887
|
suppressEcho = _ref$suppressEcho === void 0 ? true : _ref$suppressEcho;
|
|
69733
|
-
var
|
|
69734
|
-
|
|
69888
|
+
var _useRouterNavigation = useRouterNavigation(),
|
|
69889
|
+
navigate = _useRouterNavigation.navigate,
|
|
69890
|
+
location = _useRouterNavigation.location;
|
|
69735
69891
|
var initialRef = React.useRef(true);
|
|
69736
69892
|
var suppressUpdateUriRef = React.useRef(false);
|
|
69737
69893
|
React.useEffect(function () {
|
|
@@ -69739,11 +69895,11 @@ function IframeRouteSync(_ref) {
|
|
|
69739
69895
|
if (data.eventType === 'LOAD_URI' && data.eventProps) {
|
|
69740
69896
|
var path = normalizeIframePath(data.eventProps.uri);
|
|
69741
69897
|
if (suppressEcho) suppressUpdateUriRef.current = true;
|
|
69742
|
-
|
|
69898
|
+
navigate(path);
|
|
69743
69899
|
}
|
|
69744
69900
|
});
|
|
69745
69901
|
return remove;
|
|
69746
|
-
}, [
|
|
69902
|
+
}, [navigate, suppressEcho]);
|
|
69747
69903
|
React.useEffect(function () {
|
|
69748
69904
|
if (initialRef.current) {
|
|
69749
69905
|
initialRef.current = false;
|
|
@@ -69816,7 +69972,8 @@ function resolveCountsLoader(mod) {
|
|
|
69816
69972
|
* @param {Object} props
|
|
69817
69973
|
* @param {() => Promise<{ default?: Function, getNavCounts?: Function } | Function>} props.countsLoader
|
|
69818
69974
|
* Dynamic import returning a function that resolves to countsByMenu, e.g.
|
|
69819
|
-
* { tasks: { 'open-tasks':
|
|
69975
|
+
* { tasks: { 'open-tasks': { count: 750, status: 2 } }, admin: { 'staged-users': 12 } }
|
|
69976
|
+
* Use buildNavCountEntry() in the loader to run navItem.getStatus in the iframe before posting.
|
|
69820
69977
|
* @param {number} [props.pollIntervalMs=60000] Set to 0 to post once on mount only.
|
|
69821
69978
|
* @param {(err: Error) => void} [props.onError]
|
|
69822
69979
|
*/
|
|
@@ -69883,11 +70040,10 @@ function IframeAppRootInner(_ref) {
|
|
|
69883
70040
|
navCountsOnError = _ref.navCountsOnError,
|
|
69884
70041
|
updateUriIsPath = _ref.updateUriIsPath,
|
|
69885
70042
|
suppressRouteSyncEcho = _ref.suppressRouteSyncEcho;
|
|
69886
|
-
var
|
|
70043
|
+
var _useRouterNavigation = useRouterNavigation(),
|
|
70044
|
+
navigate = _useRouterNavigation.navigate;
|
|
69887
70045
|
return /*#__PURE__*/React__default["default"].createElement(CrumbProvider, {
|
|
69888
|
-
navigate:
|
|
69889
|
-
return history.push(path);
|
|
69890
|
-
}
|
|
70046
|
+
navigate: navigate
|
|
69891
70047
|
}, /*#__PURE__*/React__default["default"].createElement(AppEnvSender, {
|
|
69892
70048
|
toolkitEnv: toolkitEnv,
|
|
69893
70049
|
mihelpAgentProps: mihelpAgentProps
|
|
@@ -69923,7 +70079,7 @@ function IframeAppRoot(_ref2) {
|
|
|
69923
70079
|
_ref2$suppressRouteSy = _ref2.suppressRouteSyncEcho,
|
|
69924
70080
|
suppressRouteSyncEcho = _ref2$suppressRouteSy === void 0 ? true : _ref2$suppressRouteSy;
|
|
69925
70081
|
var initialPath = normalizeIframePath(initialUri);
|
|
69926
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
70082
|
+
return /*#__PURE__*/React__default["default"].createElement(ReactRouterDOM.MemoryRouter, {
|
|
69927
70083
|
initialEntries: [initialPath],
|
|
69928
70084
|
initialIndex: 0
|
|
69929
70085
|
}, /*#__PURE__*/React__default["default"].createElement(IframeAppRootInner, {
|
|
@@ -81779,6 +81935,7 @@ exports.AutoRefresh = AutoRefresh;
|
|
|
81779
81935
|
exports.CallLogger = CallLogger;
|
|
81780
81936
|
exports.ContextualHelp = ContextualHelp;
|
|
81781
81937
|
exports.Crumb = Crumb$1;
|
|
81938
|
+
exports.IS_REACT_ROUTER_V6 = IS_REACT_ROUTER_V6;
|
|
81782
81939
|
exports.IframeAppRoot = IframeAppRoot;
|
|
81783
81940
|
exports.IframeRouteSync = IframeRouteSync;
|
|
81784
81941
|
exports.NavConfigSender = NavConfigSender;
|
|
@@ -81786,11 +81943,15 @@ exports.NavCountsSender = NavCountsSender;
|
|
|
81786
81943
|
exports.STANDARD_NAV_COUNT_THRESHOLDS = STANDARD_NAV_COUNT_THRESHOLDS;
|
|
81787
81944
|
exports.accessHelpers = accessHelpers$1;
|
|
81788
81945
|
exports.bootstrapIframeApp = bootstrapIframeApp;
|
|
81946
|
+
exports.buildNavCountEntry = buildNavCountEntry;
|
|
81789
81947
|
exports.fetcher = fetcher$1;
|
|
81790
81948
|
exports.iframeFacade = iframeFacade;
|
|
81791
81949
|
exports.normalizeIframePath = normalizeIframePath;
|
|
81950
|
+
exports.normalizeNavCountEntry = normalizeNavCountEntry;
|
|
81792
81951
|
exports.registerEarlyLoadUriListener = registerEarlyLoadUriListener;
|
|
81793
81952
|
exports.resolveCountStatus = resolveCountStatus;
|
|
81953
|
+
exports.resolveNavCountDisplay = resolveNavCountDisplay;
|
|
81794
81954
|
exports.serializeNavItems = serializeNavItems;
|
|
81795
81955
|
exports.storage = storage$2;
|
|
81956
|
+
exports.useRouterNavigation = useRouterNavigation;
|
|
81796
81957
|
//# sourceMappingURL=ops-tool-kit.js.map
|