@veracity/vui 0.3.2 → 0.5.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.
Files changed (209) hide show
  1. package/avatar/avatar.js +1 -1
  2. package/button/button.d.ts +15 -1
  3. package/button/button.js +3 -3
  4. package/button/button.types.d.ts +4 -4
  5. package/button/consts.js +2 -2
  6. package/button/theme.d.ts +2 -0
  7. package/button/theme.js +3 -2
  8. package/buttonGroup/buttonGroup.d.ts +1 -1
  9. package/buttonGroup/buttonGroup.js +1 -1
  10. package/buttonGroup/helpers.js +3 -1
  11. package/checkbox/checkbox.d.ts +1 -1
  12. package/core/consts.d.ts +7 -0
  13. package/core/consts.js +8 -1
  14. package/core/index.d.ts +1 -0
  15. package/core/index.js +1 -0
  16. package/core/links.d.ts +20 -0
  17. package/core/links.js +173 -0
  18. package/dialog/consts.d.ts +3 -0
  19. package/dialog/consts.js +30 -0
  20. package/dialog/context.d.ts +4 -0
  21. package/dialog/context.js +23 -0
  22. package/dialog/dialog.d.ts +26 -0
  23. package/dialog/dialog.js +122 -0
  24. package/dialog/dialog.types.d.ts +47 -0
  25. package/dialog/dialogBody.d.ts +9 -0
  26. package/dialog/dialogBody.js +85 -0
  27. package/dialog/dialogCancelButton.d.ts +4 -0
  28. package/dialog/dialogCancelButton.js +30 -0
  29. package/dialog/dialogCloseButton.d.ts +4 -0
  30. package/dialog/dialogCloseButton.js +30 -0
  31. package/dialog/dialogFooter.d.ts +4 -0
  32. package/dialog/dialogFooter.js +45 -0
  33. package/dialog/dialogHeader.d.ts +4 -0
  34. package/dialog/dialogHeader.js +53 -0
  35. package/dialog/dialogIcon.d.ts +4 -0
  36. package/dialog/dialogIcon.js +32 -0
  37. package/dialog/dialogSubmitButton.d.ts +4 -0
  38. package/dialog/dialogSubmitButton.js +28 -0
  39. package/dialog/dialogTitle.d.ts +4 -0
  40. package/dialog/dialogTitle.js +30 -0
  41. package/dialog/index.d.ts +13 -0
  42. package/dialog/index.js +30 -0
  43. package/dialog/theme.d.ts +22 -0
  44. package/dialog/theme.js +28 -0
  45. package/footer/context.d.ts +4 -0
  46. package/footer/context.js +23 -0
  47. package/footer/footer.d.ts +2 -0
  48. package/footer/footer.js +11 -29
  49. package/footer/footer.types.d.ts +19 -16
  50. package/footer/footerColumn.d.ts +2 -218
  51. package/footer/footerColumn.js +16 -2
  52. package/footer/footerContent.d.ts +3 -0
  53. package/footer/footerContent.js +28 -0
  54. package/footer/footerHeading.js +2 -1
  55. package/footer/footerLink.js +2 -1
  56. package/footer/footerRow.js +2 -1
  57. package/footer/footerSection.js +4 -3
  58. package/footer/footerTrademark.d.ts +3 -5
  59. package/footer/footerTrademark.js +23 -6
  60. package/footer/helpers.d.ts +7 -10
  61. package/footer/helpers.js +91 -33
  62. package/footer/index.d.ts +1 -1
  63. package/footer/index.js +1 -1
  64. package/footer/theme.js +1 -1
  65. package/grid/grid.d.ts +5 -0
  66. package/{header/headerLink.js → grid/grid.js} +17 -13
  67. package/grid/grid.types.d.ts +3 -0
  68. package/grid/grid.types.js +2 -0
  69. package/grid/index.d.ts +3 -0
  70. package/grid/index.js +20 -0
  71. package/grid/theme.d.ts +7 -0
  72. package/grid/theme.js +12 -0
  73. package/header/context.d.ts +2 -2
  74. package/header/context.js +3 -3
  75. package/header/header.d.ts +11 -10
  76. package/header/header.js +36 -21
  77. package/header/header.types.d.ts +54 -39
  78. package/header/headerAccount.d.ts +8 -0
  79. package/header/{headerProfile.js → headerAccount.js} +32 -45
  80. package/header/headerAccount.types.d.ts +35 -0
  81. package/header/headerAccount.types.js +2 -0
  82. package/header/headerAccountUserInfo.d.ts +4 -0
  83. package/header/headerAccountUserInfo.js +46 -0
  84. package/header/headerContent.d.ts +2 -3
  85. package/header/headerContent.js +3 -3
  86. package/header/headerCreateAccount.js +8 -5
  87. package/header/headerDivider.js +2 -2
  88. package/header/headerLinkItem.d.ts +4 -0
  89. package/header/headerLinkItem.js +53 -0
  90. package/header/headerLogo.js +8 -10
  91. package/header/headerMainLinks.d.ts +4 -0
  92. package/header/{headerLinks.js → headerMainLinks.js} +10 -7
  93. package/header/headerMobileContent.js +4 -3
  94. package/header/headerMobileToggle.d.ts +2 -2
  95. package/header/headerMobileToggle.js +6 -7
  96. package/header/headerNotifications.js +8 -8
  97. package/header/headerServices.d.ts +5 -1
  98. package/header/headerServices.js +23 -14
  99. package/header/headerServicesMessage.d.ts +4 -0
  100. package/header/headerServicesMessage.js +49 -0
  101. package/header/headerSignIn.js +5 -3
  102. package/header/helpers.d.ts +8 -0
  103. package/header/helpers.js +115 -0
  104. package/header/index.d.ts +8 -3
  105. package/header/index.js +8 -3
  106. package/header/loggedInHeader.d.ts +1 -1
  107. package/header/loggedInHeader.js +16 -12
  108. package/header/loggedOutHeader.js +15 -12
  109. package/header/theme.d.ts +62 -7
  110. package/header/theme.js +53 -12
  111. package/icons/baseIcons/fas/fasCalendarAlt.js +1 -1
  112. package/index.d.ts +4 -0
  113. package/index.js +4 -0
  114. package/input/consts.js +2 -2
  115. package/input/input.js +1 -1
  116. package/input/input.types.d.ts +3 -3
  117. package/link/link.types.d.ts +4 -4
  118. package/link/linkText.js +1 -1
  119. package/list/listHeading.js +1 -1
  120. package/list/listItem.js +2 -2
  121. package/list/theme.d.ts +2 -4
  122. package/list/theme.js +2 -4
  123. package/menu/menuItem.js +7 -22
  124. package/menu/menuList.js +1 -1
  125. package/modal/ModalBackdrop.d.ts +4 -0
  126. package/modal/ModalBackdrop.js +37 -0
  127. package/modal/ModalContent.d.ts +4 -0
  128. package/modal/ModalContent.js +38 -0
  129. package/modal/context.d.ts +4 -0
  130. package/modal/context.js +23 -0
  131. package/modal/focusLock.d.ts +9 -0
  132. package/modal/focusLock.js +47 -0
  133. package/modal/focusLock.types.d.ts +28 -0
  134. package/modal/focusLock.types.js +2 -0
  135. package/modal/index.d.ts +9 -0
  136. package/modal/index.js +26 -0
  137. package/modal/modal.d.ts +15 -0
  138. package/modal/modal.js +113 -0
  139. package/modal/modal.types.d.ts +46 -0
  140. package/modal/modal.types.js +2 -0
  141. package/modal/modalManager.d.ts +12 -0
  142. package/modal/modalManager.js +33 -0
  143. package/modal/theme.d.ts +8 -0
  144. package/modal/theme.js +14 -0
  145. package/notification/consts.js +2 -2
  146. package/notification/notification.types.d.ts +1 -2
  147. package/notification/theme.js +1 -1
  148. package/package.json +3 -1
  149. package/popover/popover.d.ts +1 -1
  150. package/popover/popover.js +5 -4
  151. package/popover/popoverContent.js +1 -1
  152. package/popover/popoverTrigger.js +7 -2
  153. package/popover/usePopover.js +7 -9
  154. package/popover/usePopover.types.d.ts +1 -1
  155. package/portal/index.d.ts +3 -0
  156. package/portal/index.js +20 -0
  157. package/portal/portal.d.ts +5 -0
  158. package/portal/portal.js +56 -0
  159. package/portal/portal.types.d.ts +7 -0
  160. package/portal/portal.types.js +2 -0
  161. package/radio/radio.d.ts +1 -1
  162. package/radio/radioGroup.js +1 -1
  163. package/svg/svg.js +9 -7
  164. package/svg/svg.types.d.ts +2 -2
  165. package/system/custom.d.ts +0 -4
  166. package/system/custom.js +1 -15
  167. package/system/effects.d.ts +4 -4
  168. package/system/grids.d.ts +5 -3
  169. package/system/system.d.ts +2 -2
  170. package/system/system.js +1 -1
  171. package/system/transitions.d.ts +1 -1
  172. package/tag/tag.js +1 -2
  173. package/tag/tag.types.d.ts +3 -4
  174. package/tag/theme.d.ts +1 -0
  175. package/tag/theme.js +2 -1
  176. package/textarea/textarea.js +2 -2
  177. package/theme/components.d.ts +101 -11
  178. package/theme/components.js +48 -42
  179. package/theme/defaultTheme.d.ts +130 -12
  180. package/theme/foundations/gridTemplateColumns.d.ts +15 -0
  181. package/theme/foundations/gridTemplateColumns.js +16 -0
  182. package/theme/foundations/gridTemplateRows.d.ts +9 -0
  183. package/theme/foundations/gridTemplateRows.js +10 -0
  184. package/theme/foundations/index.d.ts +29 -1
  185. package/theme/foundations/index.js +6 -0
  186. package/theme/foundations/timingFunctions.d.ts +2 -0
  187. package/theme/foundations/timingFunctions.js +3 -0
  188. package/theme/foundations/zIndices.d.ts +6 -1
  189. package/theme/foundations/zIndices.js +6 -1
  190. package/theme/types.d.ts +9 -1
  191. package/utils/assertion.d.ts +2 -0
  192. package/utils/assertion.js +6 -1
  193. package/utils/function.d.ts +4 -0
  194. package/utils/function.js +19 -1
  195. package/utils/index.d.ts +1 -0
  196. package/utils/index.js +1 -0
  197. package/utils/number.d.ts +2 -0
  198. package/utils/number.js +10 -0
  199. package/utils/object.js +9 -17
  200. package/utils/react.d.ts +12 -5
  201. package/utils/react.js +69 -9
  202. package/utils/types.d.ts +4 -2
  203. package/footer/consts.d.ts +0 -72
  204. package/footer/consts.js +0 -132
  205. package/header/headerLink.d.ts +0 -4
  206. package/header/headerLinks.d.ts +0 -4
  207. package/header/headerProfile.d.ts +0 -4
  208. package/header/headerProfile.types.d.ts +0 -35
  209. /package/{header/headerProfile.types.js → dialog/dialog.types.js} +0 -0
@@ -33,19 +33,19 @@ exports.HeaderNotifications = void 0;
33
33
  var react_1 = __importDefault(require("react"));
34
34
  var button_1 = __importDefault(require("../button"));
35
35
  var core_1 = require("../core");
36
- var icon_1 = __importDefault(require("../icon"));
37
36
  var context_1 = require("./context");
38
- var Badge = core_1.styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tbackground-color: red.70;\n"], ["\n\tbackground-color: red.70;\n"
37
+ var Badge = core_1.styled.spanBox(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\talign-items: center;\n\tbackground-color: red.70;\n\tborder-radius: round;\n\tcolor: white;\n\tdisplay: flex;\n\tfont-size: 8px;\n\tfont-weight: medium;\n\theight: 16px;\n\tjustify-content: center;\n\tposition: absolute;\n\tright: 1px;\n\ttop: 1px;\n\twidth: 16px;\n"], ["\n\talign-items: center;\n\tbackground-color: red.70;\n\tborder-radius: round;\n\tcolor: white;\n\tdisplay: flex;\n\tfont-size: 8px;\n\tfont-weight: medium;\n\theight: 16px;\n\tjustify-content: center;\n\tposition: absolute;\n\tright: 1px;\n\ttop: 1px;\n\twidth: 16px;\n"
39
38
  /** Icon link to Veracity notifications engine with an optional number of new notifications. */
40
39
  ])));
41
40
  /** Icon link to Veracity notifications engine with an optional number of new notifications. */
42
41
  exports.HeaderNotifications = (0, core_1.vui)(function (props, ref) {
43
- var children = props.children, _a = props.count, count = _a === void 0 ? 0 : _a, url = props.url, rest = __rest(props, ["children", "count", "url"]);
44
- var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeader)());
45
- return (react_1.default.createElement(button_1.default, __assign({ as: "a", href: url, minW: 0, px: "7px", ref: ref }, styles.notifications, rest),
46
- react_1.default.createElement(react_1.default.Fragment, null,
47
- react_1.default.createElement(icon_1.default, { name: "falBell" }),
48
- count > 0 && react_1.default.createElement(Badge, null, count))));
42
+ var _a;
43
+ var children = props.children, _b = props.count, count = _b === void 0 ? 0 : _b, url = props.url, rest = __rest(props, ["children", "count", "url"]);
44
+ var links = ((_a = (0, context_1.useHeaderContext)()) !== null && _a !== void 0 ? _a : {}).links;
45
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)()).notifications;
46
+ return (react_1.default.createElement(button_1.default, __assign({ as: "a", href: url !== null && url !== void 0 ? url : links.notifications, minW: 0, ml: 1, position: "relative", px: "7px", ref: ref, title: "Notifications", variant: "text" }, styles.container, rest), children !== null && children !== void 0 ? children : (react_1.default.createElement(react_1.default.Fragment, null,
47
+ react_1.default.createElement(button_1.default.Icon, { name: "falBell" }),
48
+ count > 0 && react_1.default.createElement(Badge, null, count < 100 ? count : '99+')))));
49
49
  });
50
50
  exports.HeaderNotifications.displayName = 'HeaderNotifications';
51
51
  exports.default = exports.HeaderNotifications;
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { HeaderServicesProps } from './header.types';
3
3
  /** Displays a list of services available to the user. */
4
- export default function HeaderServices(props: HeaderServicesProps): JSX.Element;
4
+ export declare function HeaderServices(props: HeaderServicesProps): JSX.Element;
5
+ export declare namespace HeaderServices {
6
+ var displayName: string;
7
+ }
8
+ export default HeaderServices;
@@ -25,27 +25,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.HeaderServices = void 0;
28
29
  var react_1 = __importDefault(require("react"));
29
30
  var core_1 = require("../core");
30
31
  var list_1 = __importDefault(require("../list"));
31
32
  var menu_1 = __importDefault(require("../menu"));
32
33
  var context_1 = require("./context");
34
+ var headerServicesMessage_1 = __importDefault(require("./headerServicesMessage"));
35
+ /** Supporting internal component to avoid code duplication. */
36
+ function ListContent(_a) {
37
+ var _b = _a.links, links = _b === void 0 ? [] : _b;
38
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)()).services;
39
+ return (react_1.default.createElement(react_1.default.Fragment, null, links.length > 0 ? (links.map(function (_a, index) {
40
+ var text = _a.text, url = _a.url;
41
+ return (react_1.default.createElement(menu_1.default.Item, __assign({ isTruncated: true, key: index, linkProps: { href: url }, text: text }, styles.item)));
42
+ })) : (react_1.default.createElement(headerServicesMessage_1.default, null))));
43
+ }
33
44
  /** Displays a list of services available to the user. */
34
45
  function HeaderServices(props) {
35
- var buttonProps = props.buttonProps, children = props.children, listProps = props.listProps, _a = props.services, services = _a === void 0 ? [] : _a, rest = __rest(props, ["buttonProps", "children", "listProps", "services"]);
36
- var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeader)()).services;
46
+ var buttonProps = props.buttonProps, _a = props.links, links = _a === void 0 ? [] : _a, rest = __rest(props, ["buttonProps", "links"]);
47
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)()).services;
37
48
  return (react_1.default.createElement(react_1.default.Fragment, null,
38
- react_1.default.createElement(core_1.RenderOnDesktop, { screen: "lg" },
39
- react_1.default.createElement(menu_1.default, __assign({}, rest),
40
- react_1.default.createElement(menu_1.default.Button, __assign({ icon: "falTh" }, styles.button, buttonProps)),
41
- react_1.default.createElement(menu_1.default.List, __assign({}, styles.list, listProps), services.map(function (_a, index) {
42
- var text = _a.text, url = _a.url;
43
- return (react_1.default.createElement(menu_1.default.Item, __assign({ key: index, linkProps: { href: url }, text: text }, styles.item)));
44
- })))),
45
- react_1.default.createElement(core_1.RenderOnMobile, { screen: "lg" },
46
- react_1.default.createElement(list_1.default, __assign({}, styles.list, listProps), services.map(function (_a, index) {
47
- var text = _a.text, url = _a.url;
48
- return (react_1.default.createElement(menu_1.default.Item, __assign({ key: index, linkProps: { href: url }, text: text }, styles.item)));
49
- })))));
49
+ react_1.default.createElement(core_1.RenderOnDesktop, null,
50
+ react_1.default.createElement(menu_1.default, __assign({ offset: [0, 8], placement: "bottom-end", size: "lg" }, rest),
51
+ react_1.default.createElement(menu_1.default.Button, __assign({ colorScheme: "prussian", icon: "falTh", ml: 1, title: "My services" }, styles.button, buttonProps)),
52
+ react_1.default.createElement(menu_1.default.List, __assign({ heading: "My Services", maxH: 400, w: 320 }, styles.list),
53
+ react_1.default.createElement(ListContent, { links: links })))),
54
+ react_1.default.createElement(core_1.RenderOnMobile, null,
55
+ react_1.default.createElement(list_1.default, __assign({ borderBottom: "1px solid grey.40", heading: "My Services" }, styles.list),
56
+ react_1.default.createElement(ListContent, { links: links })))));
50
57
  }
58
+ exports.HeaderServices = HeaderServices;
59
+ HeaderServices.displayName = 'HeaderServices';
51
60
  exports.default = HeaderServices;
@@ -0,0 +1,4 @@
1
+ import { PProps } from '../p';
2
+ /** Displays a message with link to Marketplace if user has no services available. */
3
+ export declare const HeaderServicesMessage: import("../core").VuiComponent<"p", PProps>;
4
+ export default HeaderServicesMessage;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.HeaderServicesMessage = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var core_1 = require("../core");
31
+ var link_1 = __importDefault(require("../link"));
32
+ var p_1 = __importDefault(require("../p"));
33
+ var context_1 = require("./context");
34
+ /** Displays a message with link to Marketplace if user has no services available. */
35
+ exports.HeaderServicesMessage = (0, core_1.vui)(function (props, ref) {
36
+ var _a;
37
+ var children = props.children, rest = __rest(props, ["children"]);
38
+ var links = ((_a = (0, context_1.useHeaderContext)()) !== null && _a !== void 0 ? _a : {}).links;
39
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)());
40
+ return (react_1.default.createElement(p_1.default, __assign({ mb: 2, ml: 2, ref: ref }, styles.servicesMessage, rest), children !== null && children !== void 0 ? children : (react_1.default.createElement(react_1.default.Fragment, null,
41
+ "No services available. ",
42
+ react_1.default.createElement("br", null),
43
+ "Explore more on the",
44
+ ' ',
45
+ react_1.default.createElement(link_1.default, { href: links === null || links === void 0 ? void 0 : links.marketplace, isUnderlined: true }, "marketplace"),
46
+ "."))));
47
+ });
48
+ exports.HeaderServicesMessage.displayName = 'HeaderServicesMessage';
49
+ exports.default = exports.HeaderServicesMessage;
@@ -32,9 +32,11 @@ var core_1 = require("../core");
32
32
  var context_1 = require("./context");
33
33
  /** Sign in button leading to Veracity login page. */
34
34
  exports.HeaderSignIn = (0, core_1.vui)(function (props, ref) {
35
- var url = props.url, rest = __rest(props, ["url"]);
36
- var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeader)());
37
- return (react_1.default.createElement(button_1.default, __assign({ as: "a", className: "vui-headerSignIn", href: url, ref: ref }, styles.signIn, rest), "Sign in"));
35
+ var _a;
36
+ var children = props.children, url = props.url, rest = __rest(props, ["children", "url"]);
37
+ var links = ((_a = (0, context_1.useHeaderContext)()) !== null && _a !== void 0 ? _a : {}).links;
38
+ var styles = (0, core_1.useStyleConfig)('Header', (0, context_1.useHeaderContext)());
39
+ return (react_1.default.createElement(button_1.default, __assign({ as: "a", className: "vui-headerSignIn", href: url !== null && url !== void 0 ? url : links.signIn, ref: ref }, styles.signIn, rest), children !== null && children !== void 0 ? children : 'Sign in'));
38
40
  });
39
41
  exports.HeaderSignIn.displayName = 'HeaderSignIn';
40
42
  exports.default = exports.HeaderSignIn;
@@ -0,0 +1,8 @@
1
+ import { Environment } from '../utils';
2
+ import { HeaderLinkData } from './header.types';
3
+ import { HeaderAccountSectionData } from './headerAccount.types';
4
+ /** Loads templates for Header links and enriches them with urls from LinksContext. */
5
+ export declare function useHeaderLinks(env: Environment): {
6
+ accountSections: HeaderAccountSectionData[] | undefined;
7
+ mainLinks: HeaderLinkData[] | undefined;
8
+ };
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ Object.defineProperty(exports, "__esModule", { value: true });
66
+ exports.useHeaderLinks = void 0;
67
+ var react_1 = require("react");
68
+ var core_1 = require("../core");
69
+ var utils_1 = require("../utils");
70
+ /** Loads templates for Header links and enriches them with urls from LinksContext. */
71
+ function useHeaderLinks(env) {
72
+ var _a, _b;
73
+ var _c = __read((0, react_1.useState)({}), 2), templates = _c[0], setTemplates = _c[1];
74
+ var _d = __read((0, core_1.useLinks)(), 1), links = _d[0];
75
+ (0, react_1.useEffect)(function () {
76
+ loadHeaderlinks();
77
+ function loadHeaderlinks() {
78
+ return __awaiter(this, void 0, void 0, function () {
79
+ var response, data, _a;
80
+ return __generator(this, function (_b) {
81
+ switch (_b.label) {
82
+ case 0:
83
+ _b.trys.push([0, 3, , 4]);
84
+ return [4 /*yield*/, fetch(core_1.cdnUrls[env] + "/common/data/links/header.json")];
85
+ case 1:
86
+ response = _b.sent();
87
+ if (!response.ok)
88
+ return [2 /*return*/];
89
+ return [4 /*yield*/, response.json()];
90
+ case 2:
91
+ data = _b.sent();
92
+ if ((0, utils_1.isObject)(data))
93
+ setTemplates(data);
94
+ return [3 /*break*/, 4];
95
+ case 3:
96
+ _a = _b.sent();
97
+ console.error('Failed to retrieve header data.');
98
+ return [3 /*break*/, 4];
99
+ case 4: return [2 /*return*/];
100
+ }
101
+ });
102
+ });
103
+ }
104
+ }, [env]);
105
+ var accountSections = (_a = templates.accountSections) === null || _a === void 0 ? void 0 : _a.map(function (section) {
106
+ var _a;
107
+ return __assign(__assign({}, section), { links: (_a = section.links) === null || _a === void 0 ? void 0 : _a.map(function (link) { var _a; return (__assign(__assign({}, link), { url: links[(_a = link === null || link === void 0 ? void 0 : link.id) !== null && _a !== void 0 ? _a : ''] })); }) });
108
+ });
109
+ var mainLinks = (_b = templates.mainLinks) === null || _b === void 0 ? void 0 : _b.map(function (link) {
110
+ var _a;
111
+ return (__assign(__assign({}, link), { url: links[(_a = link === null || link === void 0 ? void 0 : link.id) !== null && _a !== void 0 ? _a : ''] }));
112
+ });
113
+ return { accountSections: accountSections, mainLinks: mainLinks };
114
+ }
115
+ exports.useHeaderLinks = useHeaderLinks;
package/header/index.d.ts CHANGED
@@ -1,17 +1,22 @@
1
+ export * from './context';
1
2
  export * from './header';
2
3
  export { default } from './header';
3
4
  export * from './header.types';
5
+ export * from './headerAccount';
6
+ export * from './headerAccount.types';
7
+ export * from './headerAccountUserInfo';
4
8
  export * from './headerContent';
5
9
  export * from './headerCreateAccount';
6
10
  export * from './headerDivider';
7
- export * from './headerLink';
8
- export * from './headerLinks';
11
+ export * from './headerLinkItem';
9
12
  export * from './headerLogo';
13
+ export * from './headerMainLinks';
10
14
  export * from './headerMobileContent';
11
15
  export * from './headerMobileToggle';
12
16
  export * from './headerNotifications';
13
- export * from './headerProfile';
14
17
  export * from './headerServices';
18
+ export * from './headerServicesMessage';
15
19
  export * from './headerSignIn';
20
+ export * from './helpers';
16
21
  export * from './loggedInHeader';
17
22
  export * from './loggedOutHeader';
package/header/index.js CHANGED
@@ -14,21 +14,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.default = void 0;
17
+ __exportStar(require("./context"), exports);
17
18
  __exportStar(require("./header"), exports);
18
19
  var header_1 = require("./header");
19
20
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(header_1).default; } });
20
21
  __exportStar(require("./header.types"), exports);
22
+ __exportStar(require("./headerAccount"), exports);
23
+ __exportStar(require("./headerAccount.types"), exports);
24
+ __exportStar(require("./headerAccountUserInfo"), exports);
21
25
  __exportStar(require("./headerContent"), exports);
22
26
  __exportStar(require("./headerCreateAccount"), exports);
23
27
  __exportStar(require("./headerDivider"), exports);
24
- __exportStar(require("./headerLink"), exports);
25
- __exportStar(require("./headerLinks"), exports);
28
+ __exportStar(require("./headerLinkItem"), exports);
26
29
  __exportStar(require("./headerLogo"), exports);
30
+ __exportStar(require("./headerMainLinks"), exports);
27
31
  __exportStar(require("./headerMobileContent"), exports);
28
32
  __exportStar(require("./headerMobileToggle"), exports);
29
33
  __exportStar(require("./headerNotifications"), exports);
30
- __exportStar(require("./headerProfile"), exports);
31
34
  __exportStar(require("./headerServices"), exports);
35
+ __exportStar(require("./headerServicesMessage"), exports);
32
36
  __exportStar(require("./headerSignIn"), exports);
37
+ __exportStar(require("./helpers"), exports);
33
38
  __exportStar(require("./loggedInHeader"), exports);
34
39
  __exportStar(require("./loggedOutHeader"), exports);
@@ -1,4 +1,4 @@
1
1
  import { LoggedInHeaderProps } from './header.types';
2
- /** Displays Header content appropriate for logged in users, such as services, notifications or profile information. */
2
+ /** Displays Header content appropriate for logged in users, such as services, notifications or account information. */
3
3
  export declare const LoggedInHeader: import("../core").VuiComponent<"div", LoggedInHeaderProps>;
4
4
  export default LoggedInHeader;
@@ -27,27 +27,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.LoggedInHeader = void 0;
29
29
  var react_1 = __importDefault(require("react"));
30
+ var box_1 = __importDefault(require("../box"));
30
31
  var core_1 = require("../core");
31
32
  var utils_1 = require("../utils");
32
33
  var header_1 = __importDefault(require("./header"));
33
- /** Displays Header content appropriate for logged in users, such as services, notifications or profile information. */
34
+ /** Displays Header content appropriate for logged in users, such as services, notifications or account information. */
34
35
  exports.LoggedInHeader = (0, core_1.vui)(function (props, ref) {
35
- var className = props.className, children = props.children, links = props.links, logo = props.logo, profile = props.profile, services = props.services, notifications = props.notifications, rest = __rest(props, ["className", "children", "links", "logo", "profile", "services", "notifications"]);
36
+ var account = props.account, children = props.children, className = props.className, logo = props.logo, mainLinks = props.mainLinks, services = props.services, notifications = props.notifications, rest = __rest(props, ["account", "children", "className", "logo", "mainLinks", "services", "notifications"]);
36
37
  return (react_1.default.createElement(header_1.default, __assign({ className: (0, utils_1.cs)('vui-loggedInHeader', className), ref: ref }, rest),
37
38
  react_1.default.createElement(header_1.default.Content, null,
38
- (0, utils_1.isObject)(logo) ? react_1.default.createElement(header_1.default.Logo, __assign({}, logo)) : logo,
39
- react_1.default.createElement(core_1.RenderOnDesktop, { screen: "lg" },
40
- children,
41
- (0, utils_1.isArray)(links) ? react_1.default.createElement(header_1.default.Links, { links: links }) : links,
42
- (0, utils_1.isArray)(services) ? react_1.default.createElement(header_1.default.Services, { services: services }) : services),
43
- (0, utils_1.isObject)(notifications) ? react_1.default.createElement(header_1.default.Notifications, __assign({}, notifications)) : notifications,
44
- (0, utils_1.isObject)(profile) ? react_1.default.createElement(header_1.default.Profile, __assign({}, profile)) : profile,
45
- react_1.default.createElement(core_1.RenderOnMobile, { screen: "lg" },
39
+ (0, utils_1.isJsx)(logo) ? logo : react_1.default.createElement(header_1.default.Logo, __assign({}, logo)),
40
+ react_1.default.createElement(core_1.RenderOnDesktop, null, children),
41
+ react_1.default.createElement(box_1.default, { ml: "auto" }),
42
+ react_1.default.createElement(core_1.RenderOnDesktop, null,
43
+ (0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }),
44
+ mainLinks !== undefined && react_1.default.createElement(header_1.default.Divider, { mx: 1 }),
45
+ (0, utils_1.isJsx)(services) ? services : react_1.default.createElement(header_1.default.Services, __assign({}, services))),
46
+ (0, utils_1.isJsx)(notifications) ? notifications : react_1.default.createElement(header_1.default.Notifications, __assign({}, notifications)),
47
+ (0, utils_1.isJsx)(account) ? account : react_1.default.createElement(header_1.default.Account, __assign({}, account)),
48
+ react_1.default.createElement(core_1.RenderOnMobile, null,
49
+ (account !== undefined || notifications !== undefined) && react_1.default.createElement(header_1.default.Divider, { ml: 2 }),
46
50
  react_1.default.createElement(header_1.default.MobileToggle, null),
47
51
  react_1.default.createElement(header_1.default.MobileContent, null,
48
52
  children,
49
- (0, utils_1.isArray)(links) ? react_1.default.createElement(header_1.default.Links, { links: links }) : links,
50
- (0, utils_1.isArray)(services) ? react_1.default.createElement(header_1.default.Services, { services: services }) : services)))));
53
+ (0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }),
54
+ (0, utils_1.isJsx)(services) ? services : react_1.default.createElement(header_1.default.Services, __assign({}, services)))))));
51
55
  });
52
56
  exports.LoggedInHeader.displayName = 'LoggedInHeader';
53
57
  exports.default = exports.LoggedInHeader;
@@ -27,28 +27,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.LoggedOutHeader = void 0;
29
29
  var react_1 = __importDefault(require("react"));
30
+ var box_1 = __importDefault(require("../box"));
30
31
  var core_1 = require("../core");
31
32
  var utils_1 = require("../utils");
32
33
  var header_1 = __importDefault(require("./header"));
33
34
  /** Displays Header content appropriate for logged out users, such as sign in button or create account prompt. */
34
35
  exports.LoggedOutHeader = (0, core_1.vui)(function (props, ref) {
35
- var children = props.children, className = props.className, createAccount = props.createAccount, links = props.links, logo = props.logo, signIn = props.signIn, rest = __rest(props, ["children", "className", "createAccount", "links", "logo", "signIn"]);
36
+ var children = props.children, className = props.className, createAccount = props.createAccount, logo = props.logo, mainLinks = props.mainLinks, signIn = props.signIn, rest = __rest(props, ["children", "className", "createAccount", "logo", "mainLinks", "signIn"]);
36
37
  return (react_1.default.createElement(header_1.default, __assign({ className: (0, utils_1.cs)('vui-loggedOutHeader', className), ref: ref }, rest),
37
38
  react_1.default.createElement(header_1.default.Content, null,
38
- (0, utils_1.isObject)(logo) ? react_1.default.createElement(header_1.default.Logo, __assign({}, logo)) : logo,
39
- react_1.default.createElement(core_1.RenderOnDesktop, { screen: "lg" },
40
- children,
41
- (0, utils_1.isArray)(links) ? react_1.default.createElement(header_1.default.Links, { links: links }) : links,
42
- react_1.default.createElement(header_1.default.Divider, null),
43
- (0, utils_1.isString)(signIn) ? react_1.default.createElement(header_1.default.SignIn, { url: signIn }) : signIn,
44
- (0, utils_1.isString)(createAccount) ? react_1.default.createElement(header_1.default.CreateAccount, { url: createAccount }) : createAccount),
45
- react_1.default.createElement(core_1.RenderOnMobile, { screen: "lg" },
46
- (0, utils_1.isString)(signIn) ? react_1.default.createElement(header_1.default.SignIn, { url: signIn }) : signIn,
39
+ (0, utils_1.isJsx)(logo) ? logo : react_1.default.createElement(header_1.default.Logo, __assign({}, logo)),
40
+ react_1.default.createElement(core_1.RenderOnDesktop, null, children),
41
+ react_1.default.createElement(box_1.default, { ml: "auto" }),
42
+ react_1.default.createElement(core_1.RenderOnDesktop, null,
43
+ (0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }),
44
+ mainLinks !== undefined && react_1.default.createElement(header_1.default.Divider, { ml: 1, mr: 3 }),
45
+ (0, utils_1.isJsx)(signIn) ? signIn : react_1.default.createElement(header_1.default.SignIn, __assign({}, signIn)),
46
+ (0, utils_1.isJsx)(createAccount) ? createAccount : react_1.default.createElement(header_1.default.CreateAccount, __assign({}, createAccount))),
47
+ react_1.default.createElement(core_1.RenderOnMobile, null,
48
+ (0, utils_1.isJsx)(signIn) ? signIn : react_1.default.createElement(header_1.default.SignIn, __assign({}, signIn)),
49
+ signIn !== undefined && react_1.default.createElement(header_1.default.Divider, { ml: 2 }),
47
50
  react_1.default.createElement(header_1.default.MobileToggle, null),
48
51
  react_1.default.createElement(header_1.default.MobileContent, null,
49
52
  children,
50
- (0, utils_1.isString)(createAccount) ? react_1.default.createElement(header_1.default.CreateAccount, { url: createAccount }) : createAccount,
51
- (0, utils_1.isArray)(links) ? react_1.default.createElement(header_1.default.Links, { links: links }) : links)))));
53
+ (0, utils_1.isJsx)(createAccount) ? createAccount : react_1.default.createElement(header_1.default.CreateAccount, __assign({}, createAccount)),
54
+ (0, utils_1.isJsx)(mainLinks) ? mainLinks : react_1.default.createElement(header_1.default.MainLinks, { links: mainLinks }))))));
52
55
  });
53
56
  exports.LoggedOutHeader.displayName = 'LoggedOutHeader';
54
57
  exports.default = exports.LoggedOutHeader;
package/header/theme.d.ts CHANGED
@@ -4,18 +4,73 @@ declare const _default: {
4
4
  parts: string[];
5
5
  sizes: {};
6
6
  variants: {
7
- test: {
7
+ dark: {
8
8
  container: {
9
9
  bg: string;
10
- color: string;
10
+ borderBottom: number;
11
11
  };
12
- profile: {
13
- content: {
14
- color: string;
15
- };
12
+ account: {
16
13
  trigger: {
14
+ bg: string;
17
15
  color: string;
18
- name: string;
16
+ hoverBg: string;
17
+ activeBg: string;
18
+ };
19
+ };
20
+ createAccount: {
21
+ link: {
22
+ color: {
23
+ xs: string;
24
+ md: string;
25
+ };
26
+ hoverColor: {
27
+ xs: string;
28
+ md: string;
29
+ };
30
+ };
31
+ text: {
32
+ color: {
33
+ md: string;
34
+ };
35
+ };
36
+ };
37
+ divider: {
38
+ borderColor: string;
39
+ };
40
+ linkItem: {
41
+ container: {
42
+ hoverBg: {
43
+ xs: string;
44
+ md: string;
45
+ };
46
+ activeBg: {
47
+ xs: string;
48
+ md: string;
49
+ };
50
+ };
51
+ link: {
52
+ borderColor: string;
53
+ };
54
+ };
55
+ logo: {
56
+ svg: {
57
+ pathFill: string;
58
+ };
59
+ };
60
+ mainLinks: {
61
+ color: {
62
+ md: string;
63
+ };
64
+ };
65
+ mobileContent: {
66
+ top: string;
67
+ };
68
+ mobileToggle: {
69
+ variant: string;
70
+ };
71
+ notifications: {
72
+ container: {
73
+ variant: string;
19
74
  };
20
75
  };
21
76
  services: {
package/header/theme.js CHANGED
@@ -4,38 +4,79 @@ var baseStyle = {};
4
4
  var defaultProps = {};
5
5
  var parts = [
6
6
  'container',
7
+ 'account',
8
+ 'accountUserInfo',
7
9
  'content',
8
10
  'createAccount',
9
11
  'divider',
10
- 'link',
11
- 'links',
12
+ 'linkItem',
12
13
  'logo',
14
+ 'mainLinks',
13
15
  'mobileContent',
14
16
  'mobileToggle',
15
17
  'notifications',
16
- 'profile',
17
18
  'services',
19
+ 'servicesMessage',
18
20
  'signIn'
19
21
  ];
20
22
  var sizes = {};
21
23
  var variants = {
22
- test: {
24
+ dark: {
23
25
  container: {
24
26
  bg: 'prussian.80',
25
- color: 'white'
27
+ borderBottom: 0
26
28
  },
27
- profile: {
28
- content: {
29
- color: 'prussian.80'
30
- },
29
+ account: {
31
30
  trigger: {
32
- color: 'green.80',
33
- name: 'Ferdynand Kiepski'
31
+ bg: 'white',
32
+ color: 'prussian.80',
33
+ hoverBg: 'blue.20',
34
+ activeBg: 'blue.30'
35
+ }
36
+ },
37
+ createAccount: {
38
+ link: {
39
+ color: { xs: 'blue.80', md: 'blue.60' },
40
+ hoverColor: { xs: 'blue.60', md: 'blue.40' }
41
+ },
42
+ text: {
43
+ color: { md: 'white' }
44
+ }
45
+ },
46
+ divider: {
47
+ borderColor: 'white'
48
+ },
49
+ linkItem: {
50
+ container: {
51
+ hoverBg: { xs: 'blue.20', md: 'prussian.60' },
52
+ activeBg: { xs: 'blue.30', md: 'prussian.50' }
53
+ },
54
+ link: {
55
+ borderColor: 'pink.80'
56
+ }
57
+ },
58
+ logo: {
59
+ svg: {
60
+ pathFill: 'white'
61
+ }
62
+ },
63
+ mainLinks: {
64
+ color: { md: 'white' }
65
+ },
66
+ mobileContent: {
67
+ top: '100%'
68
+ },
69
+ mobileToggle: {
70
+ variant: 'solid'
71
+ },
72
+ notifications: {
73
+ container: {
74
+ variant: 'solid'
34
75
  }
35
76
  },
36
77
  services: {
37
78
  button: {
38
- variant: 'text'
79
+ variant: 'solid'
39
80
  }
40
81
  },
41
82
  signIn: {