@planningcenter/topbar 12.2.5 → 12.2.6-rc.0
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/topbar.css +80 -0
- package/dist/topbar.css.map +1 -1
- package/dist/topbar.js +216 -91
- package/dist/topbar.js.map +1 -1
- package/dist/topbar.modern.js +217 -92
- package/dist/topbar.modern.js.map +1 -1
- package/dist/topbar.module.js +217 -92
- package/dist/topbar.module.js.map +1 -1
- package/dist/topbar.umd.js +216 -91
- package/dist/topbar.umd.js.map +1 -1
- package/package.json +4 -3
package/dist/topbar.umd.js
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
var people__namespace = /*#__PURE__*/_interopNamespaceDefault(people);
|
|
28
28
|
var toolbar__namespace = /*#__PURE__*/_interopNamespaceDefault(toolbar);
|
|
29
29
|
|
|
30
|
-
var styles$
|
|
30
|
+
var styles$e = {"accessibility-toolbar":"accessibility-toolbar-jgjUG"};
|
|
31
31
|
|
|
32
32
|
const AccessibilityToolbar = ({
|
|
33
33
|
children
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
(_a = document.getElementById("main-content")) === null || _a === void 0 ? void 0 : _a.focus();
|
|
40
40
|
};
|
|
41
41
|
return /*#__PURE__*/React.createElement("div", {
|
|
42
|
-
className: styles$
|
|
42
|
+
className: styles$e["accessibility-toolbar"]
|
|
43
43
|
}, /*#__PURE__*/React.createElement(tapestry.Link, {
|
|
44
44
|
href: "#main-content",
|
|
45
45
|
kind: "primary",
|
|
@@ -356,11 +356,11 @@
|
|
|
356
356
|
fill: fill
|
|
357
357
|
})));
|
|
358
358
|
|
|
359
|
-
var styles$
|
|
359
|
+
var styles$d = {"announcement":"announcement-pI5tM","announcement--platform":"announcement--platform-EcUn2","announcement--promo":"announcement--promo-FarUk","announcement-icon":"announcement-icon-Ov39-","announcement-content":"announcement-content-q2ad6","dismiss":"dismiss-wUAoU","dismiss--promo":"dismiss--promo-7zvO4"};
|
|
360
360
|
|
|
361
361
|
function AnnouncementIcon() {
|
|
362
362
|
return /*#__PURE__*/React.createElement("svg", {
|
|
363
|
-
className: styles$
|
|
363
|
+
className: styles$d["announcement-icon"],
|
|
364
364
|
width: "16",
|
|
365
365
|
height: "16",
|
|
366
366
|
viewBox: "0 0 16 16",
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
} = this.props;
|
|
486
486
|
const isPromo = variant === "promo";
|
|
487
487
|
return /*#__PURE__*/React.createElement("div", {
|
|
488
|
-
className: classnames(styles$
|
|
488
|
+
className: classnames(styles$d["announcement"], styles$d[`announcement--${variant !== null && variant !== void 0 ? variant : "platform"}`]),
|
|
489
489
|
"data-announcement-variant": variant !== null && variant !== void 0 ? variant : "platform",
|
|
490
490
|
style: isPromo ? {
|
|
491
491
|
backgroundImage: promoBackgroundUrl,
|
|
@@ -494,7 +494,7 @@
|
|
|
494
494
|
backgroundSize: "cover"
|
|
495
495
|
} : undefined
|
|
496
496
|
}, !isPromo && /*#__PURE__*/React.createElement(AnnouncementIcon, null), /*#__PURE__*/React.createElement("div", {
|
|
497
|
-
className: styles$
|
|
497
|
+
className: styles$d["announcement-content"],
|
|
498
498
|
style: style,
|
|
499
499
|
...platformProps
|
|
500
500
|
}));
|
|
@@ -543,7 +543,7 @@
|
|
|
543
543
|
const isPromo = variant === "promo";
|
|
544
544
|
return /*#__PURE__*/React.createElement("button", {
|
|
545
545
|
type: "button",
|
|
546
|
-
className: classnames(styles$
|
|
546
|
+
className: classnames(styles$d.dismiss, isPromo && styles$d["dismiss--promo"]),
|
|
547
547
|
...props
|
|
548
548
|
}, /*#__PURE__*/React.createElement(X, {
|
|
549
549
|
fill: isPromo ? "currentColor" : "white",
|
|
@@ -623,9 +623,9 @@
|
|
|
623
623
|
...platformProps
|
|
624
624
|
} = this.props;
|
|
625
625
|
return /*#__PURE__*/React.createElement("div", {
|
|
626
|
-
className: styles$
|
|
626
|
+
className: styles$d["announcement"]
|
|
627
627
|
}, /*#__PURE__*/React.createElement(AnnouncementIcon, null), /*#__PURE__*/React.createElement("div", {
|
|
628
|
-
className: styles$
|
|
628
|
+
className: styles$d["announcement-content"],
|
|
629
629
|
style: style,
|
|
630
630
|
...platformProps
|
|
631
631
|
}));
|
|
@@ -636,7 +636,7 @@
|
|
|
636
636
|
}) {
|
|
637
637
|
return /*#__PURE__*/React.createElement("button", {
|
|
638
638
|
type: "button",
|
|
639
|
-
className: styles$
|
|
639
|
+
className: styles$d.dismiss,
|
|
640
640
|
...props
|
|
641
641
|
}, /*#__PURE__*/React.createElement(X, {
|
|
642
642
|
fill: "white",
|
|
@@ -1883,7 +1883,7 @@
|
|
|
1883
1883
|
})) : (/*#__PURE__*/React.createElement("div", null, "appName not supported"));
|
|
1884
1884
|
}
|
|
1885
1885
|
|
|
1886
|
-
var styles$
|
|
1886
|
+
var styles$c = {"unbutton":"unbutton-lEbTR"};
|
|
1887
1887
|
|
|
1888
1888
|
function Unbutton({
|
|
1889
1889
|
className,
|
|
@@ -1892,7 +1892,7 @@
|
|
|
1892
1892
|
...nativeProps
|
|
1893
1893
|
}) {
|
|
1894
1894
|
return /*#__PURE__*/React.createElement("button", {
|
|
1895
|
-
className: classnames(styles$
|
|
1895
|
+
className: classnames(styles$c.unbutton, className),
|
|
1896
1896
|
style: {
|
|
1897
1897
|
...style
|
|
1898
1898
|
},
|
|
@@ -1901,7 +1901,7 @@
|
|
|
1901
1901
|
});
|
|
1902
1902
|
}
|
|
1903
1903
|
|
|
1904
|
-
var styles$
|
|
1904
|
+
var styles$b = {"button":"button-XMbeQ","button-accounts":"button-accounts-nNh-z","chevron":"chevron-RRg9k","is-expanded":"is-expanded-zD0A0"};
|
|
1905
1905
|
|
|
1906
1906
|
const AppsButton = ({
|
|
1907
1907
|
appName,
|
|
@@ -1916,8 +1916,8 @@
|
|
|
1916
1916
|
"aria-haspopup": "true",
|
|
1917
1917
|
"aria-label": `App switcher: ${appName}`,
|
|
1918
1918
|
onClick: onClick,
|
|
1919
|
-
className: classnames(styles$
|
|
1920
|
-
[styles$
|
|
1919
|
+
className: classnames(styles$b.button, {
|
|
1920
|
+
[styles$b["is-expanded"]]: expanded
|
|
1921
1921
|
}),
|
|
1922
1922
|
type: "button",
|
|
1923
1923
|
style: style,
|
|
@@ -1926,7 +1926,7 @@
|
|
|
1926
1926
|
appName: "Accounts",
|
|
1927
1927
|
colors: colors
|
|
1928
1928
|
}), /*#__PURE__*/React.createElement("div", {
|
|
1929
|
-
className: styles$
|
|
1929
|
+
className: styles$b["button-accounts"]
|
|
1930
1930
|
}, "Account settings"))) : (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ColorAppIcon, {
|
|
1931
1931
|
appName: appName.replace(/[\s-]/, "")
|
|
1932
1932
|
}), /*#__PURE__*/React.createElement(MonoAppName, {
|
|
@@ -1934,7 +1934,7 @@
|
|
|
1934
1934
|
key: "mono-app-name",
|
|
1935
1935
|
size: 24
|
|
1936
1936
|
}))), /*#__PURE__*/React.createElement(DisclosureChevronIcon, {
|
|
1937
|
-
className: styles$
|
|
1937
|
+
className: styles$b.chevron,
|
|
1938
1938
|
key: "disclosure-chevron-icon"
|
|
1939
1939
|
}));
|
|
1940
1940
|
};
|
|
@@ -2022,7 +2022,7 @@
|
|
|
2022
2022
|
flex: "1 1 auto"
|
|
2023
2023
|
};
|
|
2024
2024
|
|
|
2025
|
-
var styles$
|
|
2025
|
+
var styles$a = {"popup":"popup-sJ-Nv"};
|
|
2026
2026
|
|
|
2027
2027
|
const HoverableListItem = ({
|
|
2028
2028
|
active = false,
|
|
@@ -2079,7 +2079,7 @@
|
|
|
2079
2079
|
}
|
|
2080
2080
|
}
|
|
2081
2081
|
|
|
2082
|
-
var styles$
|
|
2082
|
+
var styles$9 = {"popup-root":"popup-root-SeL5u","popup":"popup-nQXYW","is-visible":"is-visible-3DAUP"};
|
|
2083
2083
|
|
|
2084
2084
|
const Popup = ({
|
|
2085
2085
|
className,
|
|
@@ -2087,8 +2087,8 @@
|
|
|
2087
2087
|
isVisible,
|
|
2088
2088
|
...nativeProps
|
|
2089
2089
|
}) => (/*#__PURE__*/React.createElement(C, {
|
|
2090
|
-
className: classnames(styles$
|
|
2091
|
-
[styles$
|
|
2090
|
+
className: classnames(styles$9.popup, {
|
|
2091
|
+
[styles$9["is-visible"]]: isVisible
|
|
2092
2092
|
}, className),
|
|
2093
2093
|
...nativeProps
|
|
2094
2094
|
}));
|
|
@@ -2096,7 +2096,7 @@
|
|
|
2096
2096
|
const PopupRoot = ({
|
|
2097
2097
|
...nativeProps
|
|
2098
2098
|
}) => (/*#__PURE__*/React.createElement("div", {
|
|
2099
|
-
className: styles$
|
|
2099
|
+
className: styles$9["popup-root"],
|
|
2100
2100
|
...nativeProps
|
|
2101
2101
|
}));
|
|
2102
2102
|
|
|
@@ -2136,7 +2136,7 @@
|
|
|
2136
2136
|
cleanup: !visible,
|
|
2137
2137
|
component: Outsider,
|
|
2138
2138
|
onOutsideClick: toggle,
|
|
2139
|
-
className: styles$
|
|
2139
|
+
className: styles$a.popup,
|
|
2140
2140
|
isVisible: visible
|
|
2141
2141
|
}, /*#__PURE__*/React.createElement("menu", {
|
|
2142
2142
|
ref: menuRef,
|
|
@@ -3032,9 +3032,9 @@ true;
|
|
|
3032
3032
|
`), children);
|
|
3033
3033
|
}
|
|
3034
3034
|
|
|
3035
|
-
var styles$
|
|
3035
|
+
var styles$8 = {"route":"route--8BWe","is-active":"is-active-FsU9Y","apps-routes-separator":"apps-routes-separator-Nlm-N"};
|
|
3036
3036
|
|
|
3037
|
-
var styles$
|
|
3037
|
+
var styles$7 = {"popup":"popup-mDNKn","trigger-wrap":"trigger-wrap-Jd-KR","trigger":"trigger-WgRT5","is-visible":"is-visible-GZC0-","trigger-orgname":"trigger-orgname-TDHCc"};
|
|
3038
3038
|
|
|
3039
3039
|
const UserMenu = ({
|
|
3040
3040
|
appName,
|
|
@@ -3053,7 +3053,7 @@ true;
|
|
|
3053
3053
|
component: Outsider,
|
|
3054
3054
|
onOutsideClick: () => setUserMenuVisible(false),
|
|
3055
3055
|
cleanup: !userMenuVisible,
|
|
3056
|
-
className: styles$
|
|
3056
|
+
className: styles$7.popup,
|
|
3057
3057
|
isVisible: userMenuVisible
|
|
3058
3058
|
}, /*#__PURE__*/React.createElement("div", null, hasConnectedPeople ? (/*#__PURE__*/React.createElement("div", {
|
|
3059
3059
|
style: {
|
|
@@ -3197,11 +3197,11 @@ true;
|
|
|
3197
3197
|
userMenuVisible
|
|
3198
3198
|
}) => {
|
|
3199
3199
|
return /*#__PURE__*/React.createElement("div", {
|
|
3200
|
-
className: styles$
|
|
3200
|
+
className: styles$7["trigger-wrap"],
|
|
3201
3201
|
"data-pendo": "topbar-org-switcher"
|
|
3202
3202
|
}, /*#__PURE__*/React.createElement(Hoverable, {
|
|
3203
|
-
className: classnames(styles$
|
|
3204
|
-
[styles$
|
|
3203
|
+
className: classnames(styles$7["trigger"], {
|
|
3204
|
+
[styles$7["is-visible"]]: userMenuVisible
|
|
3205
3205
|
}),
|
|
3206
3206
|
component: "button",
|
|
3207
3207
|
type: "button",
|
|
@@ -3213,7 +3213,7 @@ true;
|
|
|
3213
3213
|
requestConnectedPeopleFetch();
|
|
3214
3214
|
}
|
|
3215
3215
|
}, showOrgName && (/*#__PURE__*/React.createElement("span", {
|
|
3216
|
-
className: styles$
|
|
3216
|
+
className: styles$7["trigger-orgname"]
|
|
3217
3217
|
}, orgName)), /*#__PURE__*/React.createElement(DisclosureChevronIcon, null)));
|
|
3218
3218
|
};
|
|
3219
3219
|
|
|
@@ -3270,7 +3270,7 @@ true;
|
|
|
3270
3270
|
},
|
|
3271
3271
|
appName: props.appName
|
|
3272
3272
|
}), /*#__PURE__*/React.createElement("div", {
|
|
3273
|
-
className: styles$
|
|
3273
|
+
className: styles$8["apps-routes-separator"]
|
|
3274
3274
|
}), routesVisible && props.routes, /*#__PURE__*/React.createElement("div", {
|
|
3275
3275
|
style: {
|
|
3276
3276
|
margin: "auto"
|
|
@@ -3308,12 +3308,12 @@ true;
|
|
|
3308
3308
|
...nativeProps
|
|
3309
3309
|
}) => {
|
|
3310
3310
|
return /*#__PURE__*/React.createElement("a", {
|
|
3311
|
-
className: classnames(styles$
|
|
3311
|
+
className: classnames(styles$8["route"], className, active && styles$8["is-active"]),
|
|
3312
3312
|
...nativeProps
|
|
3313
3313
|
});
|
|
3314
3314
|
};
|
|
3315
3315
|
|
|
3316
|
-
var styles$
|
|
3316
|
+
var styles$6 = {"avatar":"avatar-tW-wn"};
|
|
3317
3317
|
|
|
3318
3318
|
function Avatar({
|
|
3319
3319
|
env,
|
|
@@ -3323,7 +3323,7 @@ true;
|
|
|
3323
3323
|
}) {
|
|
3324
3324
|
const url = incomingUrl || `${pcoUrl$1(env)("people")}/static/no_photo_thumbnail_gray.svg`;
|
|
3325
3325
|
return /*#__PURE__*/React.createElement("div", {
|
|
3326
|
-
className: styles$
|
|
3326
|
+
className: styles$6.avatar,
|
|
3327
3327
|
style: {
|
|
3328
3328
|
backgroundImage: `url(${url})`,
|
|
3329
3329
|
...style
|
|
@@ -3345,14 +3345,14 @@ true;
|
|
|
3345
3345
|
method: "localStorage"
|
|
3346
3346
|
};
|
|
3347
3347
|
|
|
3348
|
-
var styles$
|
|
3348
|
+
var styles$5 = {"appmenu-button":"appmenu-button-b0UvT","appmenu-layer":"appmenu-layer-0IQpN","appmenu-container":"appmenu-container-gackd","appmenu-scroll":"appmenu-scroll-mPSx0","appmenu-list":"appmenu-list-h7clX","appmenu-list-a":"appmenu-list-a-rGIQN","appmenu-list-a--top":"appmenu-list-a--top-RT-2F","appmenu-list-a--bottom":"appmenu-list-a--bottom-YDeBC","appmenu-close-button":"appmenu-close-button-vv9bV","current-route":"current-route-wpJgz","is-active":"is-active-wy8Bg","routes":"routes-Nmt1S","route":"route-kkknQ","profile-button":"profile-button-a2WO2"};
|
|
3349
3349
|
|
|
3350
3350
|
function AccountSettingsLink({
|
|
3351
3351
|
env
|
|
3352
3352
|
}) {
|
|
3353
3353
|
const accountsName = "accounts";
|
|
3354
3354
|
return /*#__PURE__*/React.createElement("a", {
|
|
3355
|
-
className: classnames(styles$
|
|
3355
|
+
className: classnames(styles$5["appmenu-list-a"], styles$5["appmenu-list-a--bottom"]),
|
|
3356
3356
|
"data-pendo": `app-switcher--change-app--${accountsName}`,
|
|
3357
3357
|
"data-turbolinks": false,
|
|
3358
3358
|
href: pcoUrl$1(env)(accountsName) + getAppsSwitchProductPath(accountsName)
|
|
@@ -3375,7 +3375,7 @@ true;
|
|
|
3375
3375
|
}) => (/*#__PURE__*/React.createElement("button", {
|
|
3376
3376
|
"aria-label": "Close menu",
|
|
3377
3377
|
type: "button",
|
|
3378
|
-
className: styles$
|
|
3378
|
+
className: styles$5["appmenu-close-button"],
|
|
3379
3379
|
style: style
|
|
3380
3380
|
}, /*#__PURE__*/React.createElement(X, {
|
|
3381
3381
|
fill: color,
|
|
@@ -3456,7 +3456,7 @@ true;
|
|
|
3456
3456
|
"aria-haspopup": "true",
|
|
3457
3457
|
"aria-label": `App switcher: ${props.appName}`,
|
|
3458
3458
|
type: "button",
|
|
3459
|
-
className: styles$
|
|
3459
|
+
className: styles$5["appmenu-button"],
|
|
3460
3460
|
onClick: () => {
|
|
3461
3461
|
props.requestAppsFetch();
|
|
3462
3462
|
props.requestConnectedPeopleFetch();
|
|
@@ -3466,12 +3466,12 @@ true;
|
|
|
3466
3466
|
}, /*#__PURE__*/React.createElement(ColorAppIcon, {
|
|
3467
3467
|
appName: props.appName.replace(/[\s-]/, "")
|
|
3468
3468
|
})), routesMenuVisible && (/*#__PURE__*/React.createElement("div", {
|
|
3469
|
-
className: styles$
|
|
3469
|
+
className: styles$5["routes"]
|
|
3470
3470
|
}, props.routes)), /*#__PURE__*/React.createElement(ClientStorage, {
|
|
3471
3471
|
item: "Topbar:Small:Menus:Products:visibility",
|
|
3472
3472
|
render: () => (/*#__PURE__*/React.createElement("div", {
|
|
3473
3473
|
ref: appMenuRef,
|
|
3474
|
-
className: styles$
|
|
3474
|
+
className: styles$5["appmenu-layer"],
|
|
3475
3475
|
style: {
|
|
3476
3476
|
...(productSwitcherVisible && {
|
|
3477
3477
|
display: "block"
|
|
@@ -3490,44 +3490,44 @@ true;
|
|
|
3490
3490
|
e.stopPropagation();
|
|
3491
3491
|
}
|
|
3492
3492
|
},
|
|
3493
|
-
className: styles$
|
|
3493
|
+
className: styles$5["appmenu-container"]
|
|
3494
3494
|
}, /*#__PURE__*/React.createElement("a", {
|
|
3495
3495
|
"aria-current": props.appName === (homeProduct === null || homeProduct === void 0 ? void 0 : homeProduct.name) ? "page" : undefined,
|
|
3496
3496
|
"aria-label": homeProduct ? homeProduct.name : props.appName,
|
|
3497
3497
|
"data-pendo": `app-switcher--change-app--${homeProduct === null || homeProduct === void 0 ? void 0 : homeProduct.name}`,
|
|
3498
3498
|
"data-turbolinks": false,
|
|
3499
|
-
className: classnames(styles$
|
|
3499
|
+
className: classnames(styles$5["appmenu-list-a"], styles$5["appmenu-list-a--top"]),
|
|
3500
3500
|
href: homeProduct ? pcoUrl$1(props.env)("accounts") + getAppsSwitchProductPath(homeProduct === null || homeProduct === void 0 ? void 0 : homeProduct.name) : undefined
|
|
3501
3501
|
}, /*#__PURE__*/React.createElement(UserMenuAppLockup, {
|
|
3502
3502
|
appName: homeProduct ? homeProduct.name : props.appName
|
|
3503
3503
|
})), /*#__PURE__*/React.createElement("div", {
|
|
3504
|
-
className: styles$
|
|
3504
|
+
className: styles$5["appmenu-scroll"]
|
|
3505
3505
|
}, /*#__PURE__*/React.createElement("ul", {
|
|
3506
3506
|
"data-pendo": "app-switcher",
|
|
3507
|
-
className: styles$
|
|
3507
|
+
className: styles$5["appmenu-list"]
|
|
3508
3508
|
}, appsMenuFormatter(restProducts).map(({
|
|
3509
3509
|
name
|
|
3510
3510
|
}) => (/*#__PURE__*/React.createElement("li", {
|
|
3511
3511
|
key: name,
|
|
3512
|
-
className: styles$
|
|
3512
|
+
className: styles$5["appmenu-list-li"]
|
|
3513
3513
|
}, /*#__PURE__*/React.createElement("a", {
|
|
3514
3514
|
"aria-current": name === props.appName ? "page" : undefined,
|
|
3515
3515
|
"aria-label": name,
|
|
3516
3516
|
"data-pendo": `app-switcher--change-app--${name}`,
|
|
3517
3517
|
"data-turbolinks": false,
|
|
3518
|
-
className: styles$
|
|
3518
|
+
className: styles$5["appmenu-list-a"],
|
|
3519
3519
|
href: pcoUrl$1(props.env)("accounts") + getAppsSwitchProductPath(name)
|
|
3520
3520
|
}, /*#__PURE__*/React.createElement(UserMenuAppLockup, {
|
|
3521
3521
|
appName: name
|
|
3522
3522
|
}))))), accountsProduct && (/*#__PURE__*/React.createElement("li", {
|
|
3523
|
-
className: styles$
|
|
3523
|
+
className: styles$5["appmenu-list-li"]
|
|
3524
3524
|
}, /*#__PURE__*/React.createElement(AccountSettingsLink, {
|
|
3525
3525
|
env: props.env
|
|
3526
3526
|
}))))))))
|
|
3527
3527
|
}), /*#__PURE__*/React.createElement("button", {
|
|
3528
3528
|
type: "button",
|
|
3529
|
-
className: classnames(styles$
|
|
3530
|
-
[styles$
|
|
3529
|
+
className: classnames(styles$5["current-route"], {
|
|
3530
|
+
[styles$5["is-active"]]: routesMenuVisible
|
|
3531
3531
|
}),
|
|
3532
3532
|
onClick: props.routes.length > 0 ? () => {
|
|
3533
3533
|
setProductSwitcherVisible(false);
|
|
@@ -3535,7 +3535,7 @@ true;
|
|
|
3535
3535
|
} : null
|
|
3536
3536
|
}, /*#__PURE__*/React.createElement(CurrentRouteComponent, null, capitalize(currentRouteText)), props.routes.length > 0 && /*#__PURE__*/React.createElement(DisclosureChevronIcon, null)), /*#__PURE__*/React.createElement("button", {
|
|
3537
3537
|
type: "button",
|
|
3538
|
-
className: styles$
|
|
3538
|
+
className: styles$5["profile-button"],
|
|
3539
3539
|
onClick: () => {
|
|
3540
3540
|
var _a, _b;
|
|
3541
3541
|
props.requestConnectedPeopleFetch();
|
|
@@ -3551,7 +3551,7 @@ true;
|
|
|
3551
3551
|
className,
|
|
3552
3552
|
...props
|
|
3553
3553
|
}) => (/*#__PURE__*/React.createElement("a", {
|
|
3554
|
-
className: classnames(styles$
|
|
3554
|
+
className: classnames(styles$5["route"], className, active && styles$5["is-active"]),
|
|
3555
3555
|
...props
|
|
3556
3556
|
}));
|
|
3557
3557
|
|
|
@@ -3690,6 +3690,168 @@ true;
|
|
|
3690
3690
|
id: "topbar"
|
|
3691
3691
|
};
|
|
3692
3692
|
|
|
3693
|
+
function parseValue(element) {
|
|
3694
|
+
const datatype = element.getAttribute("datatype");
|
|
3695
|
+
switch (datatype) {
|
|
3696
|
+
case "boolean":
|
|
3697
|
+
return element.content === "true" || element.content === "1";
|
|
3698
|
+
default:
|
|
3699
|
+
return element.content;
|
|
3700
|
+
}
|
|
3701
|
+
}
|
|
3702
|
+
function getAllPcoMeta() {
|
|
3703
|
+
const elements = document.head.querySelectorAll(`meta[property^="pco:"]`);
|
|
3704
|
+
const meta = {};
|
|
3705
|
+
elements.forEach(e => {
|
|
3706
|
+
const property = e.getAttribute("property");
|
|
3707
|
+
meta[property.substring("pco:".length)] = parseValue(e);
|
|
3708
|
+
});
|
|
3709
|
+
return meta;
|
|
3710
|
+
}
|
|
3711
|
+
const store = createStore(getAllPcoMeta());
|
|
3712
|
+
const observer = new MutationObserver(() => {
|
|
3713
|
+
const prevState = store.getState();
|
|
3714
|
+
const nextState = getAllPcoMeta();
|
|
3715
|
+
if (!shallowCompare(prevState, nextState)) store.setState(nextState);
|
|
3716
|
+
});
|
|
3717
|
+
let hasTriggeredObserve = false;
|
|
3718
|
+
function observe() {
|
|
3719
|
+
if (hasTriggeredObserve) return;
|
|
3720
|
+
hasTriggeredObserve = true;
|
|
3721
|
+
// The module-load snapshot above can predate meta tags that appear later
|
|
3722
|
+
// in <head> (e.g. pco:resource, yielded right before </head>) if this
|
|
3723
|
+
// module's own script tag isn't deferred and runs mid-parse. Those tags
|
|
3724
|
+
// never mutate afterward, so the observer alone would never catch them.
|
|
3725
|
+
// Re-read once now, since observe() is only called once a consumer is
|
|
3726
|
+
// actually mounting, which is always after the document has fully parsed.
|
|
3727
|
+
const freshState = getAllPcoMeta();
|
|
3728
|
+
if (!shallowCompare(store.getState(), freshState)) {
|
|
3729
|
+
store.setState(freshState);
|
|
3730
|
+
}
|
|
3731
|
+
observer.observe(document.head, {
|
|
3732
|
+
attributes: true,
|
|
3733
|
+
childList: true,
|
|
3734
|
+
subtree: true
|
|
3735
|
+
});
|
|
3736
|
+
}
|
|
3737
|
+
function usePcoMeta() {
|
|
3738
|
+
observe();
|
|
3739
|
+
return shim.useSyncExternalStore(store.subscribe, () => store.getState());
|
|
3740
|
+
}
|
|
3741
|
+
|
|
3742
|
+
var styles$4 = {"debug-pco-resource":"debug-pco-resource-sLteM","debug-pco-resource-header":"debug-pco-resource-header-5fEbe","debug-pco-resource-badge":"debug-pco-resource-badge-J9v1F","debug-pco-resource-title":"debug-pco-resource-title-volWV","debug-pco-resource-field":"debug-pco-resource-field-7Gitp","debug-pco-resource-field-label":"debug-pco-resource-field-label--f1xX","debug-pco-resource-field-value":"debug-pco-resource-field-value-YoX-C","debug-pco-resource-note":"debug-pco-resource-note-N5xyf","debug-pco-resource-json":"debug-pco-resource-json-Rx-JI"};
|
|
3743
|
+
|
|
3744
|
+
function isPresent(value) {
|
|
3745
|
+
return value !== undefined && value.trim() !== "";
|
|
3746
|
+
}
|
|
3747
|
+
function describeTag(tagName, value) {
|
|
3748
|
+
if (value === undefined) return `No pco:${tagName} meta tag found on this page`;
|
|
3749
|
+
if (value.trim() === "") return `pco:${tagName} meta tag is present but malformed (empty)`;
|
|
3750
|
+
return value;
|
|
3751
|
+
}
|
|
3752
|
+
// A `pco:resource` value looks like `<product>/v2/<resource_type>/<id>`. The
|
|
3753
|
+
// product segment doubles as the API subdomain/path, so a lookup only needs it.
|
|
3754
|
+
function pcrlLookupUrl(resource, env) {
|
|
3755
|
+
const [product] = resource.split("/");
|
|
3756
|
+
if (!product) return null;
|
|
3757
|
+
const apiRoot = pcoUrl$1.pcoApiUrl(product, {
|
|
3758
|
+
env,
|
|
3759
|
+
squiggly: false
|
|
3760
|
+
});
|
|
3761
|
+
const params = new URLSearchParams({
|
|
3762
|
+
"where[pcrl]": resource
|
|
3763
|
+
});
|
|
3764
|
+
return `${apiRoot}/pcrl_lookup?${params.toString()}`;
|
|
3765
|
+
}
|
|
3766
|
+
function Field({
|
|
3767
|
+
label,
|
|
3768
|
+
value
|
|
3769
|
+
}) {
|
|
3770
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3771
|
+
className: styles$4["debug-pco-resource-field"]
|
|
3772
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
3773
|
+
className: styles$4["debug-pco-resource-field-label"]
|
|
3774
|
+
}, label), /*#__PURE__*/React.createElement("span", {
|
|
3775
|
+
className: styles$4["debug-pco-resource-field-value"]
|
|
3776
|
+
}, value));
|
|
3777
|
+
}
|
|
3778
|
+
function DebugPcoResource({
|
|
3779
|
+
env
|
|
3780
|
+
}) {
|
|
3781
|
+
const {
|
|
3782
|
+
recently_visitable: recentlyVisitable,
|
|
3783
|
+
resource
|
|
3784
|
+
} = usePcoMeta();
|
|
3785
|
+
const [lookup, setLookup] = React.useState({
|
|
3786
|
+
status: "idle"
|
|
3787
|
+
});
|
|
3788
|
+
const hasResource = isPresent(resource);
|
|
3789
|
+
const hasRecentlyVisitable = isPresent(recentlyVisitable);
|
|
3790
|
+
React.useEffect(() => {
|
|
3791
|
+
// pco:resource is the more specific signal, so it always wins when both
|
|
3792
|
+
// tags are present.
|
|
3793
|
+
const url = hasResource ? pcrlLookupUrl(resource, env) : null;
|
|
3794
|
+
if (!url) {
|
|
3795
|
+
setLookup({
|
|
3796
|
+
status: "idle"
|
|
3797
|
+
});
|
|
3798
|
+
return undefined;
|
|
3799
|
+
}
|
|
3800
|
+
let cancelled = false;
|
|
3801
|
+
setLookup({
|
|
3802
|
+
status: "loading"
|
|
3803
|
+
});
|
|
3804
|
+
apiRequest(defaultFetch, url).then(({
|
|
3805
|
+
json,
|
|
3806
|
+
ok,
|
|
3807
|
+
response
|
|
3808
|
+
}) => {
|
|
3809
|
+
if (cancelled) return;
|
|
3810
|
+
if (ok) {
|
|
3811
|
+
setLookup({
|
|
3812
|
+
json,
|
|
3813
|
+
status: "loaded"
|
|
3814
|
+
});
|
|
3815
|
+
} else {
|
|
3816
|
+
setLookup({
|
|
3817
|
+
message: `pcrl_lookup request failed${response ? ` (${response.status})` : ""}`,
|
|
3818
|
+
status: "error"
|
|
3819
|
+
});
|
|
3820
|
+
}
|
|
3821
|
+
});
|
|
3822
|
+
return () => {
|
|
3823
|
+
cancelled = true;
|
|
3824
|
+
};
|
|
3825
|
+
}, [resource, env, hasResource]);
|
|
3826
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3827
|
+
className: styles$4["debug-pco-resource"]
|
|
3828
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
3829
|
+
className: styles$4["debug-pco-resource-header"]
|
|
3830
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
3831
|
+
className: styles$4["debug-pco-resource-badge"]
|
|
3832
|
+
}, "Staff"), /*#__PURE__*/React.createElement("span", {
|
|
3833
|
+
className: styles$4["debug-pco-resource-title"]
|
|
3834
|
+
}, "Recently Visited debug")), /*#__PURE__*/React.createElement(Field, {
|
|
3835
|
+
label: "pco:resource",
|
|
3836
|
+
value: describeTag("resource", resource)
|
|
3837
|
+
}), /*#__PURE__*/React.createElement(Field, {
|
|
3838
|
+
label: "pco:recently_visitable",
|
|
3839
|
+
value: describeTag("recently_visitable", recentlyVisitable)
|
|
3840
|
+
}), !hasResource && !hasRecentlyVisitable && (/*#__PURE__*/React.createElement("p", {
|
|
3841
|
+
className: styles$4["debug-pco-resource-note"]
|
|
3842
|
+
}, "This page is not eligible for Recently Visited")), hasResource && hasRecentlyVisitable && (/*#__PURE__*/React.createElement("p", {
|
|
3843
|
+
className: styles$4["debug-pco-resource-note"]
|
|
3844
|
+
}, "Both tags are present \u2014 pco:resource takes precedence for the Recently Visited entry.")), hasResource && lookup.status === "loading" && (/*#__PURE__*/React.createElement("p", {
|
|
3845
|
+
className: styles$4["debug-pco-resource-note"]
|
|
3846
|
+
}, "Looking up resource\u2026")), hasResource && lookup.status === "error" && (/*#__PURE__*/React.createElement("p", {
|
|
3847
|
+
className: styles$4["debug-pco-resource-note"]
|
|
3848
|
+
}, lookup.message)), hasResource && lookup.status === "loaded" && (/*#__PURE__*/React.createElement("pre", {
|
|
3849
|
+
className: styles$4["debug-pco-resource-json"]
|
|
3850
|
+
}, JSON.stringify(lookup.json, null, 2))), !hasResource && hasRecentlyVisitable && (/*#__PURE__*/React.createElement("p", {
|
|
3851
|
+
className: styles$4["debug-pco-resource-note"]
|
|
3852
|
+
}, "Recently Visited title: ", recentlyVisitable)));
|
|
3853
|
+
}
|
|
3854
|
+
|
|
3693
3855
|
var styles$3 = {"drawer-wrap":"drawer-wrap-J0rSL","is-visible":"is-visible-KTME8","drawer":"drawer-j7f4l"};
|
|
3694
3856
|
|
|
3695
3857
|
function Drawer({
|
|
@@ -4090,7 +4252,9 @@ true;
|
|
|
4090
4252
|
}, "Log out"), /*#__PURE__*/React.createElement(tapestryReact.Icon, {
|
|
4091
4253
|
name: "general.intoBox",
|
|
4092
4254
|
fill: "var(--t-icon-color-secondary)"
|
|
4093
|
-
})))),
|
|
4255
|
+
})))), env !== "production" && /*#__PURE__*/React.createElement(DebugPcoResource, {
|
|
4256
|
+
env: env
|
|
4257
|
+
}), hasConnectedPeople && (/*#__PURE__*/React.createElement(tapestryReact.StackView, {
|
|
4094
4258
|
mediaQueries: {
|
|
4095
4259
|
sm: {
|
|
4096
4260
|
display: "none"
|
|
@@ -5310,45 +5474,6 @@ true;
|
|
|
5310
5474
|
name: "Notifications"
|
|
5311
5475
|
};
|
|
5312
5476
|
|
|
5313
|
-
function parseValue(element) {
|
|
5314
|
-
const datatype = element.getAttribute("datatype");
|
|
5315
|
-
switch (datatype) {
|
|
5316
|
-
case "boolean":
|
|
5317
|
-
return element.content === "true" || element.content === "1";
|
|
5318
|
-
default:
|
|
5319
|
-
return element.content;
|
|
5320
|
-
}
|
|
5321
|
-
}
|
|
5322
|
-
function getAllPcoMeta() {
|
|
5323
|
-
const elements = document.head.querySelectorAll(`meta[property^="pco:"]`);
|
|
5324
|
-
const meta = {};
|
|
5325
|
-
elements.forEach(e => {
|
|
5326
|
-
const property = e.getAttribute("property");
|
|
5327
|
-
meta[property.substring("pco:".length)] = parseValue(e);
|
|
5328
|
-
});
|
|
5329
|
-
return meta;
|
|
5330
|
-
}
|
|
5331
|
-
const store = createStore(getAllPcoMeta());
|
|
5332
|
-
const observer = new MutationObserver(() => {
|
|
5333
|
-
const prevState = store.getState();
|
|
5334
|
-
const nextState = getAllPcoMeta();
|
|
5335
|
-
if (!shallowCompare(prevState, nextState)) store.setState(nextState);
|
|
5336
|
-
});
|
|
5337
|
-
let hasTriggeredObserve = false;
|
|
5338
|
-
function observe() {
|
|
5339
|
-
if (hasTriggeredObserve) return;
|
|
5340
|
-
hasTriggeredObserve = true;
|
|
5341
|
-
observer.observe(document.head, {
|
|
5342
|
-
attributes: true,
|
|
5343
|
-
childList: true,
|
|
5344
|
-
subtree: true
|
|
5345
|
-
});
|
|
5346
|
-
}
|
|
5347
|
-
function usePcoMeta() {
|
|
5348
|
-
observe();
|
|
5349
|
-
return shim.useSyncExternalStore(store.subscribe, () => store.getState());
|
|
5350
|
-
}
|
|
5351
|
-
|
|
5352
5477
|
const {
|
|
5353
5478
|
LoadingIndicator,
|
|
5354
5479
|
StackView
|