@veracity/vui 2.14.8-beta.2 → 2.15.2
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/cjs/avatar/avatar.d.ts.map +1 -1
- package/dist/cjs/avatar/avatar.js +40 -9
- package/dist/cjs/header/header.types.d.ts +9 -4
- package/dist/cjs/header/header.types.d.ts.map +1 -1
- package/dist/cjs/header/loggedInHeader.d.ts.map +1 -1
- package/dist/cjs/header/loggedInHeader.js +44 -41
- package/dist/cjs/header/loggedOutHeader.d.ts.map +1 -1
- package/dist/cjs/header/loggedOutHeader.js +17 -3
- package/dist/cjs/input/consts.js +2 -2
- package/dist/cjs/menu/menu.types.d.ts +5 -1
- package/dist/cjs/menu/menu.types.d.ts.map +1 -1
- package/dist/cjs/menu/menuList.d.ts.map +1 -1
- package/dist/cjs/menu/menuList.js +6 -1
- package/dist/cjs/utils/images.d.ts +3 -0
- package/dist/cjs/utils/images.d.ts.map +1 -0
- package/dist/cjs/utils/images.js +24 -0
- package/dist/esm/avatar/avatar.d.ts.map +1 -1
- package/dist/esm/avatar/avatar.js +17 -9
- package/dist/esm/header/header.types.d.ts +9 -4
- package/dist/esm/header/header.types.d.ts.map +1 -1
- package/dist/esm/header/loggedInHeader.d.ts.map +1 -1
- package/dist/esm/header/loggedInHeader.js +38 -35
- package/dist/esm/header/loggedOutHeader.d.ts.map +1 -1
- package/dist/esm/header/loggedOutHeader.js +18 -4
- package/dist/esm/input/consts.js +2 -2
- package/dist/esm/menu/menu.types.d.ts +5 -1
- package/dist/esm/menu/menu.types.d.ts.map +1 -1
- package/dist/esm/menu/menuList.d.ts.map +1 -1
- package/dist/esm/menu/menuList.js +6 -1
- package/dist/esm/utils/images.d.ts +3 -0
- package/dist/esm/utils/images.d.ts.map +1 -0
- package/dist/esm/utils/images.js +20 -0
- package/package.json +1 -1
- package/src/avatar/avatar.tsx +45 -18
- package/src/header/header.types.ts +31 -25
- package/src/header/loggedInHeader.tsx +115 -93
- package/src/header/loggedOutHeader.tsx +39 -4
- package/src/input/consts.ts +2 -2
- package/src/menu/menu.types.ts +5 -1
- package/src/menu/menuList.tsx +15 -1
- package/src/utils/images.ts +20 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,eAAO,MAAM,UAAU,gIAoBtB,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,MAAM,qDA8DjB,CAAA;AAsCF,eAAe,MAAM,CAAA"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
26
|
var t = {};
|
|
4
27
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -15,18 +38,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
38
|
};
|
|
16
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
40
|
exports.Avatar = exports.AvatarBase = void 0;
|
|
18
|
-
const react_1 =
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
19
42
|
const core_1 = require("../core");
|
|
20
43
|
const icon_1 = __importDefault(require("../icon"));
|
|
21
44
|
const image_1 = __importDefault(require("../image"));
|
|
22
45
|
const utils_1 = require("../utils");
|
|
46
|
+
const images_1 = require("../utils/images");
|
|
23
47
|
const helpers_1 = require("./helpers");
|
|
24
|
-
function imageExists(image_url) {
|
|
25
|
-
const http = new XMLHttpRequest();
|
|
26
|
-
http.open('HEAD', image_url, false);
|
|
27
|
-
http.send();
|
|
28
|
-
return http.status !== 404;
|
|
29
|
-
}
|
|
30
48
|
exports.AvatarBase = core_1.styled.spanBox `
|
|
31
49
|
align-items: center;
|
|
32
50
|
display: inline-flex;
|
|
@@ -54,7 +72,6 @@ exports.Avatar = (0, core_1.vui)((props, ref) => {
|
|
|
54
72
|
const _b = (0, core_1.useStyleConfig)('Avatar', props), { activeBg, h, hoverBg, iconSize } = _b, styles = __rest(_b, ["activeBg", "h", "hoverBg", "iconSize"]);
|
|
55
73
|
const borderRadius = isSquare ? (props.size === 'sm' ? '3px' : '6px') : '50%';
|
|
56
74
|
const initials = getInitials(name);
|
|
57
|
-
const internalIcon = src && !imageExists(src) ? 'falUser' : icon;
|
|
58
75
|
const interactiveProps = !disabled && isInteractive
|
|
59
76
|
? {
|
|
60
77
|
cursor: 'pointer',
|
|
@@ -71,7 +88,21 @@ exports.Avatar = (0, core_1.vui)((props, ref) => {
|
|
|
71
88
|
borderRadius: borderRadius,
|
|
72
89
|
'aria-disabled': disabled
|
|
73
90
|
});
|
|
74
|
-
return (react_1.default.createElement(exports.AvatarBase, Object.assign({ borderRadius: borderRadius, className: (0, utils_1.cs)('vui-avatar', className), h: h, ref: ref, w: h }, styles, interactiveProps, aliasedProps, rest), children ? (children) : src
|
|
91
|
+
return (react_1.default.createElement(exports.AvatarBase, Object.assign({ borderRadius: borderRadius, className: (0, utils_1.cs)('vui-avatar', className), h: h, ref: ref, w: h }, styles, interactiveProps, aliasedProps, rest), children ? (children) : src ? (react_1.default.createElement(LazyImageOrDefault, { borderRadius: borderRadius, icon: icon, iconSize: iconSize, initials: initials, src: src })) : icon ? (react_1.default.createElement(icon_1.default, { name: icon, size: iconSize })) : initials ? (initials) : (react_1.default.createElement(icon_1.default, { name: "falUser", size: iconSize }))));
|
|
75
92
|
});
|
|
93
|
+
function LazyImageOrDefault({ src, borderRadius, icon, iconSize, initials }) {
|
|
94
|
+
const [imgLoaded, setImgLoaded] = (0, react_1.useState)(false);
|
|
95
|
+
(0, react_1.useEffect)(() => {
|
|
96
|
+
let cancelled = false;
|
|
97
|
+
(0, images_1.loadImageUrl)(src).then(res => {
|
|
98
|
+
if (!cancelled)
|
|
99
|
+
setImgLoaded(res);
|
|
100
|
+
});
|
|
101
|
+
return () => {
|
|
102
|
+
cancelled = true;
|
|
103
|
+
};
|
|
104
|
+
}, [src]);
|
|
105
|
+
return imgLoaded ? (react_1.default.createElement(image_1.default, { borderRadius: borderRadius, src: src })) : icon ? (react_1.default.createElement(icon_1.default, { name: icon, size: iconSize })) : initials ? (react_1.default.createElement(react_1.default.Fragment, null, "initials")) : (react_1.default.createElement(icon_1.default, { name: "falUser", size: iconSize }));
|
|
106
|
+
}
|
|
76
107
|
exports.Avatar.displayName = 'Avatar';
|
|
77
108
|
exports.default = exports.Avatar;
|
|
@@ -69,12 +69,12 @@ export type HeaderServicesProps = MenuProps & HeaderServicesData & {
|
|
|
69
69
|
showTopBorder?: boolean;
|
|
70
70
|
};
|
|
71
71
|
export type HeaderSupportProps = MenuProps & HeaderServicesData & {};
|
|
72
|
-
export type
|
|
72
|
+
export type HeaderButtonData = {
|
|
73
73
|
/** Provides href to the button link. */
|
|
74
74
|
url?: string;
|
|
75
75
|
};
|
|
76
|
-
export type HeaderSignInProps = ButtonProps &
|
|
77
|
-
export type LoggedInHeaderProps = HeaderProps & {
|
|
76
|
+
export type HeaderSignInProps = ButtonProps & HeaderButtonData;
|
|
77
|
+
export type LoggedInHeaderProps = HeaderProps & HeaderButtonData & {
|
|
78
78
|
/** Socket for account popover icon on the right side. */
|
|
79
79
|
account?: HeaderAccountData | JSX.Element;
|
|
80
80
|
supportLinks?: HeaderServicesData;
|
|
@@ -82,6 +82,7 @@ export type LoggedInHeaderProps = HeaderProps & {
|
|
|
82
82
|
applicationName?: string;
|
|
83
83
|
applicationUrl?: string;
|
|
84
84
|
isApplication?: boolean;
|
|
85
|
+
isCleanLayout?: boolean;
|
|
85
86
|
isSticky?: boolean;
|
|
86
87
|
/** Socket for logo on the left side. */
|
|
87
88
|
logo?: LogoData | JSX.Element;
|
|
@@ -99,6 +100,10 @@ export type LoggedInHeaderProps = HeaderProps & {
|
|
|
99
100
|
showMainLinks?: boolean;
|
|
100
101
|
};
|
|
101
102
|
export type LoggedOutHeaderProps = HeaderProps & {
|
|
103
|
+
/** Socket for the app name on the left side. */
|
|
104
|
+
applicationName?: string;
|
|
105
|
+
applicationUrl?: string;
|
|
106
|
+
isApplication?: boolean;
|
|
102
107
|
/** Socket for create account prompt on the right side. */
|
|
103
108
|
createAccount?: HeaderCreateAccountData | JSX.Element;
|
|
104
109
|
isSticky?: boolean;
|
|
@@ -107,6 +112,6 @@ export type LoggedOutHeaderProps = HeaderProps & {
|
|
|
107
112
|
/** Socket for links in the middle-right section. */
|
|
108
113
|
mainLinks?: HeaderLinkData[] | JSX.Element;
|
|
109
114
|
/** Socket for sign in button on the right side. */
|
|
110
|
-
signIn?:
|
|
115
|
+
signIn?: HeaderButtonData | JSX.Element;
|
|
111
116
|
};
|
|
112
117
|
//# sourceMappingURL=header.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.types.d.ts","sourceRoot":"","sources":["../../../src/header/header.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"header.types.d.ts","sourceRoot":"","sources":["../../../src/header/header.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAA;AAEzC,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG;IAC9D,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,gBAAgB,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC/C,eAAe,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC9C,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;CACnD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,uBAAuB,CAAA;AAEzE,MAAM,MAAM,cAAc,GAAG;IAC3B,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG;IAC7C,gDAAgD;IAChD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,uBAAuB,CAAA;AAE5E,MAAM,MAAM,WAAW,GAAG,WAAW,GACnC,YAAY,CAAC,QAAQ,CAAC,GAAG;IACvB,yIAAyI;IACzI,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wDAAwD;IACxD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,GACzC,kBAAkB,GAAG;IACnB,uDAAuD;IACvD,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,kBAAkB,GAAG,EAAE,CAAA;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAC3C,gBAAgB,GAAG;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAA;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wCAAwC;IACxC,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAA;IAC7B,iDAAiD;IACjD,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;IAC1C,uDAAuD;IACvD,aAAa,CAAC,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAAA;IACrD,uDAAuD;IACvD,QAAQ,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3C,mKAAmK;IACnK,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,wGAAwG;IACxG,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qHAAqH;IACrH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAC/C,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAAA;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wCAAwC;IACxC,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAA;IAC7B,oDAAoD;IACpD,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;IAC1C,mDAAmD;IACnD,MAAM,CAAC,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAA;CACxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggedInHeader.d.ts","sourceRoot":"","sources":["../../../src/header/loggedInHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loggedInHeader.d.ts","sourceRoot":"","sources":["../../../src/header/loggedInHeader.tsx"],"names":[],"mappings":"AASA,OAAO,EAAkB,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAIpE,uHAAuH;AACvH,eAAO,MAAM,cAAc,4DAiLzB,CAAA;AAIF,eAAe,cAAc,CAAA"}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.LoggedInHeader = void 0;
|
|
18
18
|
const react_1 = __importDefault(require("react"));
|
|
19
19
|
const box_1 = __importDefault(require("../box"));
|
|
20
|
+
const button_1 = __importDefault(require("../button"));
|
|
20
21
|
const core_1 = require("../core");
|
|
21
22
|
const list_1 = __importDefault(require("../list"));
|
|
22
23
|
const utils_1 = require("../utils");
|
|
@@ -26,7 +27,7 @@ const headerAccountUserInfo_1 = __importDefault(require("./headerAccountUserInfo
|
|
|
26
27
|
const headerServicesMessage_1 = __importDefault(require("./headerServicesMessage"));
|
|
27
28
|
/** Displays Header content appropriate for logged-in users, such as services, notifications or account information. */
|
|
28
29
|
exports.LoggedInHeader = (0, core_1.vui)((props, ref) => {
|
|
29
|
-
const { account, supportLinks, applicationName, applicationUrl, children, className, isApplication = false, logo, mainLinks, services, showAltUserInfo = true, showMainLinks = isApplication ? false : true, showServices = true, notifications } = props, rest = __rest(props, ["account", "supportLinks", "applicationName", "applicationUrl", "children", "className", "isApplication", "logo", "mainLinks", "services", "showAltUserInfo", "showMainLinks", "showServices", "notifications"]);
|
|
30
|
+
const { account, supportLinks, applicationName, applicationUrl, children, className, isApplication = false, isCleanLayout = false, logo, mainLinks, services, showAltUserInfo = true, showMainLinks = isApplication ? false : true, showServices = true, notifications, url } = props, rest = __rest(props, ["account", "supportLinks", "applicationName", "applicationUrl", "children", "className", "isApplication", "isCleanLayout", "logo", "mainLinks", "services", "showAltUserInfo", "showMainLinks", "showServices", "notifications", "url"]);
|
|
30
31
|
if (isApplication) {
|
|
31
32
|
if (!applicationName) {
|
|
32
33
|
console.error('Header: isApplication is true but applicationName is not set.');
|
|
@@ -38,7 +39,7 @@ exports.LoggedInHeader = (0, core_1.vui)((props, ref) => {
|
|
|
38
39
|
const servicesLinks = (0, utils_1.isJsx)(services) ? [] : (services === null || services === void 0 ? void 0 : services.links) || [];
|
|
39
40
|
const styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)());
|
|
40
41
|
const localTextColor = (rest === null || rest === void 0 ? void 0 : rest.variant) === 'dark' ? 'white' : 'darkBlue.main';
|
|
41
|
-
return (react_1.default.createElement(header_1.default, Object.assign({ className: (0, utils_1.cs)('vui-loggedInHeader', isApplication ? 'vui-loggedInAppHeader' :
|
|
42
|
+
return (react_1.default.createElement(header_1.default, Object.assign({ className: (0, utils_1.cs)('vui-loggedInHeader', isApplication ? 'vui-loggedInAppHeader' : undefined, className), mb: isApplication && isSmallScreen ? '41px' : 'inherited', ref: ref }, rest),
|
|
42
43
|
react_1.default.createElement(header_1.default.Content, null,
|
|
43
44
|
(!isApplication || !isLessThanMD) && react_1.default.createElement(react_1.default.Fragment, null,
|
|
44
45
|
" ",
|
|
@@ -49,46 +50,48 @@ exports.LoggedInHeader = (0, core_1.vui)((props, ref) => {
|
|
|
49
50
|
react_1.default.createElement(header_1.default.ApplicationName, { color: localTextColor, title: applicationName, url: applicationUrl || '/' }))),
|
|
50
51
|
!isApplication && react_1.default.createElement(core_1.RenderOnScreen, { minWidth: "lg" }, children),
|
|
51
52
|
react_1.default.createElement(box_1.default, { ml: "auto" }),
|
|
52
|
-
|
|
53
|
-
react_1.default.createElement(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
react_1.default.createElement(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
react_1.default.createElement(
|
|
60
|
-
react_1.default.createElement(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
(0, utils_1.isJsx)(services) ? services : react_1.default.createElement(header_1.default.Services, Object.assign({}, services)))),
|
|
77
|
-
(0, utils_1.isJsx)(notifications) ? notifications : react_1.default.createElement(header_1.default.Notifications, Object.assign({}, notifications)),
|
|
78
|
-
!showMainLinks &&
|
|
79
|
-
showAltUserInfo &&
|
|
80
|
-
((0, utils_1.isJsx)(userInfo) ? (userInfo) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
81
|
-
react_1.default.createElement(header_1.default.Divider, { ml: 2 }),
|
|
82
|
-
react_1.default.createElement(headerAccountUserInfo_1.default, Object.assign({ className: "vui-altUserInfo", color: localTextColor, isApplication: true }, userInfo))))),
|
|
83
|
-
(0, utils_1.isJsx)(account) ? account : react_1.default.createElement(header_1.default.Account, Object.assign({}, account)),
|
|
84
|
-
react_1.default.createElement(core_1.RenderOnScreen, { maxWidth: "lg" },
|
|
85
|
-
isApplication && react_1.default.createElement(header_1.default.Divider, { ml: 1 }),
|
|
86
|
-
!isApplication && (account !== undefined || notifications !== undefined) && react_1.default.createElement(header_1.default.Divider, { ml: 1 }),
|
|
87
|
-
react_1.default.createElement(header_1.default.MobileToggle, null),
|
|
88
|
-
react_1.default.createElement(header_1.default.MobileContent, null,
|
|
89
|
-
!isApplication && children,
|
|
53
|
+
isCleanLayout ? (react_1.default.createElement(react_1.default.Fragment, null, !!url && (react_1.default.createElement(box_1.default, null,
|
|
54
|
+
react_1.default.createElement(button_1.default, { as: "a", className: (0, utils_1.cs)('vui-headerSignOut'), href: url, size: "lg", variant: "secondaryDark" }, "Sign out"))))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
55
|
+
isApplication && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
56
|
+
react_1.default.createElement(core_1.RenderOnScreen, { minWidth: "lg" },
|
|
57
|
+
showMainLinks && mainLinks !== undefined && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
58
|
+
(0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }),
|
|
59
|
+
react_1.default.createElement(header_1.default.Divider, { mx: 1 }))),
|
|
60
|
+
!showMainLinks && mainLinks && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
61
|
+
react_1.default.createElement(header_1.default.MobileToggle, { ml: 0 }),
|
|
62
|
+
react_1.default.createElement(header_1.default.MobileContent, null,
|
|
63
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
64
|
+
(0, utils_1.isJsx)(mainLinks) ? (mainLinks) : (react_1.default.createElement(box_1.default, { column: true, w: 1 },
|
|
65
|
+
react_1.default.createElement(list_1.default, { py: 1 }, mainLinks === null || mainLinks === void 0 ? void 0 : mainLinks.map((_a, index) => {
|
|
66
|
+
var { icon, url } = _a, rest = __rest(_a, ["icon", "url"]);
|
|
67
|
+
return (react_1.default.createElement(list_1.default.Item, Object.assign({ iconLeft: icon, key: index, linkProps: { href: url } }, rest)));
|
|
68
|
+
})))),
|
|
69
|
+
!showServices && servicesLinks && (react_1.default.createElement(box_1.default, { column: true, w: 1 },
|
|
70
|
+
react_1.default.createElement(list_1.default, Object.assign({ className: "vui-headerHiddenServicesLargeScreen", heading: "My Services", maxH: 295, right: 0, w: 320 }, styles.services.list, { borderTop: 1, borderTopColor: "sandstone.main", pt: 1 }), servicesLinks.length > 0 ? (servicesLinks === null || servicesLinks === void 0 ? void 0 : servicesLinks.map((_a, index) => {
|
|
71
|
+
var { url } = _a, rest = __rest(_a, ["url"]);
|
|
72
|
+
return (react_1.default.createElement(list_1.default.Item, Object.assign({ key: index, linkProps: { href: url } }, rest)));
|
|
73
|
+
})) : (react_1.default.createElement(headerServicesMessage_1.default, null))))))))),
|
|
74
|
+
showServices && services && (react_1.default.createElement(react_1.default.Fragment, null, (0, utils_1.isJsx)(services) ? services : react_1.default.createElement(header_1.default.Services, Object.assign({ isApplication: isApplication }, services))))),
|
|
75
|
+
react_1.default.createElement(header_1.default.Support, Object.assign({}, supportLinks)))),
|
|
76
|
+
!isApplication && (react_1.default.createElement(core_1.RenderOnScreen, { minWidth: "lg" },
|
|
90
77
|
(0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }),
|
|
91
|
-
|
|
78
|
+
mainLinks !== undefined && react_1.default.createElement(header_1.default.Divider, { mx: 1 }),
|
|
79
|
+
(0, utils_1.isJsx)(services) ? services : react_1.default.createElement(header_1.default.Services, Object.assign({}, services)))),
|
|
80
|
+
(0, utils_1.isJsx)(notifications) ? notifications : react_1.default.createElement(header_1.default.Notifications, Object.assign({}, notifications)),
|
|
81
|
+
!showMainLinks &&
|
|
82
|
+
showAltUserInfo &&
|
|
83
|
+
((0, utils_1.isJsx)(userInfo) ? (userInfo) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
84
|
+
react_1.default.createElement(header_1.default.Divider, { ml: 2 }),
|
|
85
|
+
react_1.default.createElement(headerAccountUserInfo_1.default, Object.assign({ className: "vui-altUserInfo", color: localTextColor, isApplication: true }, userInfo))))),
|
|
86
|
+
(0, utils_1.isJsx)(account) ? account : react_1.default.createElement(header_1.default.Account, Object.assign({}, account)),
|
|
87
|
+
react_1.default.createElement(core_1.RenderOnScreen, { maxWidth: "lg" },
|
|
88
|
+
isApplication && react_1.default.createElement(header_1.default.Divider, { ml: 1 }),
|
|
89
|
+
!isApplication && (account !== undefined || notifications !== undefined) && react_1.default.createElement(header_1.default.Divider, { ml: 1 }),
|
|
90
|
+
react_1.default.createElement(header_1.default.MobileToggle, null),
|
|
91
|
+
react_1.default.createElement(header_1.default.MobileContent, null,
|
|
92
|
+
!isApplication && children,
|
|
93
|
+
(0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }),
|
|
94
|
+
(0, utils_1.isJsx)(services) ? (services) : (react_1.default.createElement(header_1.default.Services, Object.assign({}, services, { showTopBorder: mainLinks ? true : false }))))))))));
|
|
92
95
|
});
|
|
93
96
|
exports.LoggedInHeader.displayName = 'LoggedInHeader';
|
|
94
97
|
exports.default = exports.LoggedInHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggedOutHeader.d.ts","sourceRoot":"","sources":["../../../src/header/loggedOutHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,iHAAiH;AACjH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"loggedOutHeader.d.ts","sourceRoot":"","sources":["../../../src/header/loggedOutHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,iHAAiH;AACjH,eAAO,MAAM,eAAe,6DA2E1B,CAAA;AAIF,eAAe,eAAe,CAAA"}
|
|
@@ -22,10 +22,24 @@ const utils_1 = require("../utils");
|
|
|
22
22
|
const header_1 = __importDefault(require("./header"));
|
|
23
23
|
/** Displays Header content appropriate for logged out users, such as sign in button or create account prompt. */
|
|
24
24
|
exports.LoggedOutHeader = (0, core_1.vui)((props, ref) => {
|
|
25
|
-
const { children, className, createAccount, logo, mainLinks, signIn } = props, rest = __rest(props, ["children", "className", "createAccount", "logo", "mainLinks", "signIn"]);
|
|
26
|
-
|
|
25
|
+
const { applicationName, applicationUrl, children, className, isApplication = false, createAccount, logo, mainLinks, signIn } = props, rest = __rest(props, ["applicationName", "applicationUrl", "children", "className", "isApplication", "createAccount", "logo", "mainLinks", "signIn"]);
|
|
26
|
+
if (isApplication) {
|
|
27
|
+
if (!applicationName) {
|
|
28
|
+
console.error('Header: isApplication is true but applicationName is not set.');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const isSmallScreen = (0, core_1.useDown)('md');
|
|
32
|
+
const isLessThanMD = (0, core_1.useDown)('sm');
|
|
33
|
+
const localTextColor = (rest === null || rest === void 0 ? void 0 : rest.variant) === 'dark' ? 'white' : 'darkBlue.main';
|
|
34
|
+
return (react_1.default.createElement(header_1.default, Object.assign({ className: (0, utils_1.cs)('vui-loggedOutHeader', isApplication ? 'vui-loggedOutAppHeader' : undefined, className), mb: isApplication && isSmallScreen ? '41px' : 'inherited', ref: ref }, rest),
|
|
27
35
|
react_1.default.createElement(header_1.default.Content, null,
|
|
28
|
-
(
|
|
36
|
+
(!isApplication || !isLessThanMD) && react_1.default.createElement(react_1.default.Fragment, null,
|
|
37
|
+
" ",
|
|
38
|
+
(0, utils_1.isJsx)(logo) ? logo : react_1.default.createElement(header_1.default.Logo, Object.assign({}, logo))),
|
|
39
|
+
isApplication && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
40
|
+
react_1.default.createElement(core_1.RenderOnScreen, { minWidth: "sm" },
|
|
41
|
+
react_1.default.createElement(header_1.default.Divider, { mr: 2 })),
|
|
42
|
+
react_1.default.createElement(header_1.default.ApplicationName, { color: localTextColor, title: applicationName, url: applicationUrl || '/' }))),
|
|
29
43
|
react_1.default.createElement(core_1.RenderOnScreen, { minWidth: "lg" }, children),
|
|
30
44
|
react_1.default.createElement(box_1.default, { ml: "auto" }),
|
|
31
45
|
react_1.default.createElement(core_1.RenderOnScreen, { minWidth: "lg" },
|
package/dist/cjs/input/consts.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
2
|
import { ListProps } from '../list';
|
|
3
3
|
import { PopoverContentProps, PopoverProps } from '../popover';
|
|
4
4
|
import { ThemingProps } from '../theme';
|
|
@@ -7,6 +7,10 @@ export type MenuListProps = ListProps & {
|
|
|
7
7
|
contentProps?: PopoverContentProps;
|
|
8
8
|
/** Ref passed to the inner PopoverContent. */
|
|
9
9
|
contentRef?: RefObject<HTMLDivElement>;
|
|
10
|
+
/** Custom content displayed at the bottom of the panel */
|
|
11
|
+
slotBottom?: ReactNode;
|
|
12
|
+
/** Custom content displayed at the top of the panel */
|
|
13
|
+
slotTop?: ReactNode;
|
|
10
14
|
};
|
|
11
15
|
export type MenuProps = ThemingProps<'Menu'> & PopoverProps & {
|
|
12
16
|
/** Content closes when clicking on a list item. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.types.d.ts","sourceRoot":"","sources":["../../../src/menu/menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"menu.types.d.ts","sourceRoot":"","sources":["../../../src/menu/menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,uDAAuD;IACvD,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;IACtC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,GAC1C,YAAY,GAAG;IACb,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuList.d.ts","sourceRoot":"","sources":["../../../src/menu/menuList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menuList.d.ts","sourceRoot":"","sources":["../../../src/menu/menuList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,IAAI,MAAM,SAAS,CAAA;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,kEAAkE;AAClE,eAAO,MAAM,QAAQ;aAuBV,OAAO,KAAK,OAAO;aACnB,OAAO,KAAK,OAAO;UACtB,OAAO,KAAK,IAAI;UAChB,OAAO,KAAK,IAAI;UAChB,OAAO,SAAS;CACvB,CAAA;AAQD,eAAe,QAAQ,CAAA"}
|
|
@@ -16,6 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.MenuList = void 0;
|
|
18
18
|
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const box_1 = require("../box");
|
|
19
20
|
const core_1 = require("../core");
|
|
20
21
|
const list_1 = __importDefault(require("../list"));
|
|
21
22
|
const popover_1 = require("../popover");
|
|
@@ -24,9 +25,13 @@ const context_1 = require("./context");
|
|
|
24
25
|
/** Displays a list of menu items in a popover content element. */
|
|
25
26
|
exports.MenuList = (0, core_1.vui)((props, ref) => {
|
|
26
27
|
const { className, contentProps, contentRef } = props, rest = __rest(props, ["className", "contentProps", "contentRef"]);
|
|
28
|
+
const { slotTop, slotBottom } = props;
|
|
27
29
|
const styles = (0, core_1.useStyleConfig)('Menu', (0, context_1.useMenuContext)());
|
|
28
30
|
return (react_1.default.createElement(popover_1.PopoverContent, Object.assign({ borderRadius: 0, ref: contentRef }, contentProps),
|
|
29
|
-
react_1.default.createElement(
|
|
31
|
+
react_1.default.createElement(box_1.Box, { flexDirection: "column" },
|
|
32
|
+
slotTop,
|
|
33
|
+
react_1.default.createElement(list_1.default, Object.assign({ className: (0, utils_1.cs)('vui-menuList', className), py: 1, ref: ref, w: "100%" }, styles.list, rest, { maxH: 295 })),
|
|
34
|
+
slotBottom)));
|
|
30
35
|
});
|
|
31
36
|
exports.MenuList.Divider = list_1.default.Divider;
|
|
32
37
|
exports.MenuList.Heading = list_1.default.Heading;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/utils/images.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,oBAgBvC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadImageUrl = void 0;
|
|
4
|
+
const loadImagePromises = new Map();
|
|
5
|
+
/** Attempts to load the image and returns a boolean indicating success or not. */
|
|
6
|
+
function loadImageUrl(url) {
|
|
7
|
+
let promise = loadImagePromises.get(url);
|
|
8
|
+
if (promise)
|
|
9
|
+
return promise;
|
|
10
|
+
promise = new Promise(resolve => {
|
|
11
|
+
const img = new Image();
|
|
12
|
+
img.onload = () => {
|
|
13
|
+
// After this event occurs, you can use the url in the DOM. The browser will not make another request for the image; there will be no delay.
|
|
14
|
+
resolve(true);
|
|
15
|
+
};
|
|
16
|
+
img.onerror = () => {
|
|
17
|
+
resolve(false);
|
|
18
|
+
};
|
|
19
|
+
img.src = url;
|
|
20
|
+
});
|
|
21
|
+
loadImagePromises.set(url, promise);
|
|
22
|
+
return promise;
|
|
23
|
+
}
|
|
24
|
+
exports.loadImageUrl = loadImageUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/avatar/avatar.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,eAAO,MAAM,UAAU,gIAoBtB,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,MAAM,qDA8DjB,CAAA;AAsCF,eAAe,MAAM,CAAA"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { omitThemingProps, styled, useStyleConfig, vui } from '../core';
|
|
3
3
|
import Icon from '../icon';
|
|
4
4
|
import Image from '../image';
|
|
5
5
|
import { cs, filterUndefined } from '../utils';
|
|
6
|
+
import { loadImageUrl } from '../utils/images';
|
|
6
7
|
import { defaultGetInitials } from './helpers';
|
|
7
|
-
function imageExists(image_url) {
|
|
8
|
-
const http = new XMLHttpRequest();
|
|
9
|
-
http.open('HEAD', image_url, false);
|
|
10
|
-
http.send();
|
|
11
|
-
return http.status !== 404;
|
|
12
|
-
}
|
|
13
8
|
export const AvatarBase = styled.spanBox `
|
|
14
9
|
align-items: center;
|
|
15
10
|
display: inline-flex;
|
|
@@ -37,7 +32,6 @@ export const Avatar = vui((props, ref) => {
|
|
|
37
32
|
const { activeBg, h, hoverBg, iconSize, ...styles } = useStyleConfig('Avatar', props);
|
|
38
33
|
const borderRadius = isSquare ? (props.size === 'sm' ? '3px' : '6px') : '50%';
|
|
39
34
|
const initials = getInitials(name);
|
|
40
|
-
const internalIcon = src && !imageExists(src) ? 'falUser' : icon;
|
|
41
35
|
const interactiveProps = !disabled && isInteractive
|
|
42
36
|
? {
|
|
43
37
|
cursor: 'pointer',
|
|
@@ -54,7 +48,21 @@ export const Avatar = vui((props, ref) => {
|
|
|
54
48
|
borderRadius: borderRadius,
|
|
55
49
|
'aria-disabled': disabled
|
|
56
50
|
});
|
|
57
|
-
return (React.createElement(AvatarBase, { borderRadius: borderRadius, className: cs('vui-avatar', className), h: h, ref: ref, w: h, ...styles, ...interactiveProps, ...aliasedProps, ...rest }, children ? (children) : src
|
|
51
|
+
return (React.createElement(AvatarBase, { borderRadius: borderRadius, className: cs('vui-avatar', className), h: h, ref: ref, w: h, ...styles, ...interactiveProps, ...aliasedProps, ...rest }, children ? (children) : src ? (React.createElement(LazyImageOrDefault, { borderRadius: borderRadius, icon: icon, iconSize: iconSize, initials: initials, src: src })) : icon ? (React.createElement(Icon, { name: icon, size: iconSize })) : initials ? (initials) : (React.createElement(Icon, { name: "falUser", size: iconSize }))));
|
|
58
52
|
});
|
|
53
|
+
function LazyImageOrDefault({ src, borderRadius, icon, iconSize, initials }) {
|
|
54
|
+
const [imgLoaded, setImgLoaded] = useState(false);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
let cancelled = false;
|
|
57
|
+
loadImageUrl(src).then(res => {
|
|
58
|
+
if (!cancelled)
|
|
59
|
+
setImgLoaded(res);
|
|
60
|
+
});
|
|
61
|
+
return () => {
|
|
62
|
+
cancelled = true;
|
|
63
|
+
};
|
|
64
|
+
}, [src]);
|
|
65
|
+
return imgLoaded ? (React.createElement(Image, { borderRadius: borderRadius, src: src })) : icon ? (React.createElement(Icon, { name: icon, size: iconSize })) : initials ? (React.createElement(React.Fragment, null, "initials")) : (React.createElement(Icon, { name: "falUser", size: iconSize }));
|
|
66
|
+
}
|
|
59
67
|
Avatar.displayName = 'Avatar';
|
|
60
68
|
export default Avatar;
|
|
@@ -69,12 +69,12 @@ export type HeaderServicesProps = MenuProps & HeaderServicesData & {
|
|
|
69
69
|
showTopBorder?: boolean;
|
|
70
70
|
};
|
|
71
71
|
export type HeaderSupportProps = MenuProps & HeaderServicesData & {};
|
|
72
|
-
export type
|
|
72
|
+
export type HeaderButtonData = {
|
|
73
73
|
/** Provides href to the button link. */
|
|
74
74
|
url?: string;
|
|
75
75
|
};
|
|
76
|
-
export type HeaderSignInProps = ButtonProps &
|
|
77
|
-
export type LoggedInHeaderProps = HeaderProps & {
|
|
76
|
+
export type HeaderSignInProps = ButtonProps & HeaderButtonData;
|
|
77
|
+
export type LoggedInHeaderProps = HeaderProps & HeaderButtonData & {
|
|
78
78
|
/** Socket for account popover icon on the right side. */
|
|
79
79
|
account?: HeaderAccountData | JSX.Element;
|
|
80
80
|
supportLinks?: HeaderServicesData;
|
|
@@ -82,6 +82,7 @@ export type LoggedInHeaderProps = HeaderProps & {
|
|
|
82
82
|
applicationName?: string;
|
|
83
83
|
applicationUrl?: string;
|
|
84
84
|
isApplication?: boolean;
|
|
85
|
+
isCleanLayout?: boolean;
|
|
85
86
|
isSticky?: boolean;
|
|
86
87
|
/** Socket for logo on the left side. */
|
|
87
88
|
logo?: LogoData | JSX.Element;
|
|
@@ -99,6 +100,10 @@ export type LoggedInHeaderProps = HeaderProps & {
|
|
|
99
100
|
showMainLinks?: boolean;
|
|
100
101
|
};
|
|
101
102
|
export type LoggedOutHeaderProps = HeaderProps & {
|
|
103
|
+
/** Socket for the app name on the left side. */
|
|
104
|
+
applicationName?: string;
|
|
105
|
+
applicationUrl?: string;
|
|
106
|
+
isApplication?: boolean;
|
|
102
107
|
/** Socket for create account prompt on the right side. */
|
|
103
108
|
createAccount?: HeaderCreateAccountData | JSX.Element;
|
|
104
109
|
isSticky?: boolean;
|
|
@@ -107,6 +112,6 @@ export type LoggedOutHeaderProps = HeaderProps & {
|
|
|
107
112
|
/** Socket for links in the middle-right section. */
|
|
108
113
|
mainLinks?: HeaderLinkData[] | JSX.Element;
|
|
109
114
|
/** Socket for sign in button on the right side. */
|
|
110
|
-
signIn?:
|
|
115
|
+
signIn?: HeaderButtonData | JSX.Element;
|
|
111
116
|
};
|
|
112
117
|
//# sourceMappingURL=header.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.types.d.ts","sourceRoot":"","sources":["../../../src/header/header.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"header.types.d.ts","sourceRoot":"","sources":["../../../src/header/header.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggedInHeader.d.ts","sourceRoot":"","sources":["../../../src/header/loggedInHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loggedInHeader.d.ts","sourceRoot":"","sources":["../../../src/header/loggedInHeader.tsx"],"names":[],"mappings":"AASA,OAAO,EAAkB,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAIpE,uHAAuH;AACvH,eAAO,MAAM,cAAc,4DAiLzB,CAAA;AAIF,eAAe,cAAc,CAAA"}
|