@veracity/vui 0.5.2 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/button/button.js +1 -1
  2. package/button/buttonIcon.js +15 -2
  3. package/button/buttonText.js +15 -2
  4. package/button/context.d.ts +2 -2
  5. package/button/context.js +3 -3
  6. package/buttonGroup/context.d.ts +2 -2
  7. package/buttonGroup/context.js +3 -3
  8. package/checkbox/checkbox.js +1 -1
  9. package/checkbox/context.d.ts +2 -2
  10. package/checkbox/context.js +3 -3
  11. package/core/links.d.ts +3 -2
  12. package/core/links.js +47 -41
  13. package/dialog/dialogBody.js +13 -1
  14. package/dialog/dialogCancelButton.js +14 -1
  15. package/dialog/dialogCloseButton.js +14 -1
  16. package/dialog/dialogFooter.js +2 -2
  17. package/dialog/dialogHeader.js +2 -2
  18. package/dialog/dialogIcon.js +14 -1
  19. package/dialog/dialogSubmitButton.js +14 -1
  20. package/dialog/dialogTitle.js +14 -1
  21. package/footer/footerColumn.js +3 -2
  22. package/footer/footerContent.js +14 -1
  23. package/footer/footerHeading.js +14 -1
  24. package/footer/footerLink.js +14 -1
  25. package/footer/footerRow.js +14 -1
  26. package/footer/footerSection.js +2 -2
  27. package/footer/footerTrademark.js +3 -2
  28. package/header/headerAccount.js +3 -3
  29. package/header/headerAccountUserInfo.js +4 -3
  30. package/header/headerContent.js +14 -1
  31. package/header/headerCreateAccount.js +3 -2
  32. package/header/headerDivider.js +14 -1
  33. package/header/headerLogo.js +3 -2
  34. package/header/headerMainLinks.js +3 -2
  35. package/header/headerMobileContent.js +13 -1
  36. package/header/headerMobileToggle.js +13 -1
  37. package/header/headerNotifications.js +3 -2
  38. package/header/headerServices.js +1 -1
  39. package/header/headerServicesMessage.js +3 -2
  40. package/header/headerSignIn.js +3 -2
  41. package/index.d.ts +1 -0
  42. package/index.js +1 -0
  43. package/input/context.d.ts +2 -2
  44. package/input/context.js +3 -3
  45. package/input/input.js +1 -1
  46. package/input/inputIcon.js +15 -2
  47. package/input/inputInput.js +14 -2
  48. package/link/context.d.ts +2 -2
  49. package/link/context.js +3 -3
  50. package/link/linkIcon.js +15 -2
  51. package/link/linkText.js +15 -2
  52. package/list/context.d.ts +2 -2
  53. package/list/context.js +3 -3
  54. package/list/listDivider.js +15 -2
  55. package/list/listHeading.js +15 -2
  56. package/list/listIcon.js +15 -2
  57. package/list/listItem.js +3 -3
  58. package/list/listText.js +15 -2
  59. package/menu/menuButton.js +15 -2
  60. package/menu/menuItem.js +2 -2
  61. package/menu/menuList.js +4 -3
  62. package/modal/modalBackdrop.js +13 -1
  63. package/modal/modalContent.js +13 -1
  64. package/notification/context.d.ts +2 -2
  65. package/notification/context.js +3 -3
  66. package/notification/notificationButton.js +16 -3
  67. package/notification/notificationIcon.js +16 -3
  68. package/notification/notificationText.js +15 -2
  69. package/notification/notificationTitle.js +15 -2
  70. package/package.json +1 -1
  71. package/pagination/context.d.ts +4 -0
  72. package/pagination/context.js +23 -0
  73. package/pagination/helpers.d.ts +3 -0
  74. package/pagination/helpers.js +56 -0
  75. package/pagination/index.d.ts +13 -0
  76. package/pagination/index.js +31 -0
  77. package/pagination/pagination.d.ts +21 -0
  78. package/pagination/pagination.js +70 -0
  79. package/pagination/pagination.types.d.ts +31 -0
  80. package/pagination/pagination.types.js +2 -0
  81. package/pagination/paginationButton.d.ts +4 -0
  82. package/pagination/paginationButton.js +51 -0
  83. package/pagination/paginationEllipsis.d.ts +4 -0
  84. package/pagination/paginationEllipsis.js +41 -0
  85. package/pagination/paginationGoToPage.d.ts +4 -0
  86. package/pagination/paginationGoToPage.js +53 -0
  87. package/pagination/paginationNavigation.d.ts +4 -0
  88. package/pagination/paginationNavigation.js +68 -0
  89. package/pagination/paginationPrevNext.d.ts +4 -0
  90. package/pagination/paginationPrevNext.js +49 -0
  91. package/pagination/paginationResults.d.ts +4 -0
  92. package/pagination/paginationResults.js +42 -0
  93. package/pagination/theme.d.ts +8 -0
  94. package/pagination/theme.js +14 -0
  95. package/pagination/usePagination.d.ts +14 -0
  96. package/pagination/usePagination.js +58 -0
  97. package/pagination/usePagination.types.d.ts +12 -0
  98. package/pagination/usePagination.types.js +2 -0
  99. package/popover/popoverContent.js +2 -2
  100. package/popover/popoverTrigger.js +3 -3
  101. package/radio/context.d.ts +2 -2
  102. package/radio/context.js +3 -3
  103. package/radio/radio.js +1 -1
  104. package/spinner/consts.d.ts +0 -12
  105. package/spinner/consts.js +4 -8
  106. package/spinner/spinner.js +2 -2
  107. package/switch/context.d.ts +2 -2
  108. package/switch/context.js +3 -3
  109. package/switch/switchButton.js +2 -2
  110. package/switch/switchLabel.js +15 -2
  111. package/tag/context.d.ts +2 -2
  112. package/tag/context.js +3 -3
  113. package/tag/tagButton.js +16 -3
  114. package/tag/tagIcon.js +15 -2
  115. package/tag/tagText.js +15 -2
  116. package/textarea/textarea.js +1 -1
  117. package/theme/components.d.ts +7 -0
  118. package/theme/components.js +20 -18
  119. package/theme/defaultTheme.d.ts +7 -0
  120. package/utils/react.d.ts +16 -2
  121. package/utils/react.js +41 -3
package/link/linkText.js CHANGED
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.LinkText = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var t_1 = __importDefault(require("../t"));
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays text of the Link. */
23
35
  exports.LinkText = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('Link', __assign(__assign({}, (0, context_1.useLink)()), props));
25
- return (react_1.default.createElement(t_1.default, __assign({ className: "vui-linkText", fontSize: "inherit", ref: ref, transitionDuration: "unset" }, styles.text, props)));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('Link', (0, context_1.useLinkContext)());
38
+ return (react_1.default.createElement(t_1.default, __assign({ className: (0, utils_1.cs)('vui-linkText', className), fontSize: "inherit", ref: ref, transitionDuration: "unset" }, styles.text, rest)));
26
39
  });
27
40
  exports.LinkText.displayName = 'LinkText';
28
41
  exports.default = exports.LinkText;
package/list/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { Dict } from '../utils';
3
- declare const ListProvider: import("react").Provider<Dict<any>>, useList: () => Dict<any>;
4
- export { ListProvider, useList };
3
+ declare const ListProvider: import("react").Provider<Dict<any>>, useListContext: () => Dict<any>;
4
+ export { ListProvider, useListContext };
package/list/context.js CHANGED
@@ -16,8 +16,8 @@ var __read = (this && this.__read) || function (o, n) {
16
16
  return ar;
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.useList = exports.ListProvider = void 0;
19
+ exports.useListContext = exports.ListProvider = void 0;
20
20
  var utils_1 = require("../utils");
21
- var _a = __read((0, utils_1.createContext)({ isOptional: true }), 2), ListProvider = _a[0], useList = _a[1];
21
+ var _a = __read((0, utils_1.createContext)({ isOptional: true }), 2), ListProvider = _a[0], useListContext = _a[1];
22
22
  exports.ListProvider = ListProvider;
23
- exports.useList = useList;
23
+ exports.useListContext = useListContext;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.ListDivider = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var divider_1 = __importDefault(require("../divider"));
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays a divider line within the List. */
23
35
  exports.ListDivider = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('List', __assign(__assign({}, (0, context_1.useList)()), props));
25
- return react_1.default.createElement(divider_1.default, __assign({ className: "vui-listDivider", my: 1, ref: ref }, styles.divider, props));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('List', (0, context_1.useListContext)());
38
+ return react_1.default.createElement(divider_1.default, __assign({ className: (0, utils_1.cs)('vui-listDivider', className), my: 1, ref: ref }, styles.divider, rest));
26
39
  });
27
40
  exports.ListDivider.displayName = 'ListDivider';
28
41
  exports.default = exports.ListDivider;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.ListHeading = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var t_1 = require("../t");
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays a heading within the List. */
23
35
  exports.ListHeading = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('List', __assign(__assign({}, (0, context_1.useList)()), props));
25
- return (react_1.default.createElement(t_1.T, __assign({ className: "vui-listHeading", color: "grey.60", display: "inline-block", px: 2, py: 1, ref: ref, size: "sm", textTransform: "uppercase", weight: "medium" }, styles.heading, props)));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('List', (0, context_1.useListContext)());
38
+ return (react_1.default.createElement(t_1.T, __assign({ className: (0, utils_1.cs)('vui-listHeading', className), color: "grey.60", display: "inline-block", px: 2, py: 1, ref: ref, size: "sm", textTransform: "uppercase", weight: "medium" }, styles.heading, rest)));
26
39
  });
27
40
  exports.ListHeading.displayName = 'ListHeading';
28
41
  exports.default = exports.ListHeading;
package/list/listIcon.js CHANGED
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.ListIcon = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var icon_1 = __importDefault(require("../icon"));
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays an icon on the side of the ListItem. */
23
35
  exports.ListIcon = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('List', __assign(__assign({}, (0, context_1.useList)()), props));
25
- return react_1.default.createElement(icon_1.default, __assign({ className: "vui-listIcon", ref: ref }, styles.icon, props));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('List', (0, context_1.useListContext)());
38
+ return react_1.default.createElement(icon_1.default, __assign({ className: (0, utils_1.cs)('vui-listIcon', className), ref: ref }, styles.icon, rest));
26
39
  });
27
40
  exports.ListIcon.displayName = 'ListIcon';
28
41
  exports.default = exports.ListIcon;
package/list/listItem.js CHANGED
@@ -57,7 +57,7 @@ var context_1 = require("./context");
57
57
  var listIcon_1 = __importDefault(require("./listIcon"));
58
58
  var listText_1 = __importDefault(require("./listText"));
59
59
  /** Used as optional content wrapper when list item should be a link. */
60
- var ListItemLink = (0, core_1.vui)(function (props, ref) { return (react_1.default.createElement(link_1.default, __assign({ borderRadius: "none", h: "100%", px: 2, ref: ref, variant: "plain", w: "100%" }, props))); });
60
+ var ListItemLink = (0, core_1.vui)(function (props, ref) { return (react_1.default.createElement(link_1.default, __assign({ borderRadius: "none", className: "vui-listItemLink", h: "100%", px: 2, ref: ref, variant: "plain", w: "100%" }, props))); });
61
61
  exports.ListItemBase = core_1.styled.liBox(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\tline-height: normal;\n\toutline: none;\n\ttransition-duration: fast;\n\n\t&[aria-disabled='true'] {\n\t\tbackground-color: disabled.bg;\n\t\tcolor: disabled.color;\n\t\tcursor: not-allowed;\n\t\tuser-select: none;\n\t}\n"], ["\n\tdisplay: flex;\n\tline-height: normal;\n\toutline: none;\n\ttransition-duration: fast;\n\n\t&[aria-disabled='true'] {\n\t\tbackground-color: disabled.bg;\n\t\tcolor: disabled.color;\n\t\tcursor: not-allowed;\n\t\tuser-select: none;\n\t}\n"
62
62
  /**
63
63
  * Displays a list item with text and optional icons. Can be shown as interactive or selected.
@@ -69,9 +69,9 @@ exports.ListItemBase = core_1.styled.liBox(templateObject_1 || (templateObject_1
69
69
  * Optionally wraps the content with an <a> element when rendering a link.
70
70
  */
71
71
  exports.ListItem = (0, core_1.vui)(function (props, ref) {
72
- var mergedProps = __assign(__assign({}, (0, context_1.useList)()), props);
72
+ var mergedProps = __assign(__assign({}, (0, context_1.useListContext)()), props);
73
73
  var children = mergedProps.children, center = mergedProps.center, centerH = mergedProps.centerH, _a = mergedProps.centerV, centerV = _a === void 0 ? true : _a, className = mergedProps.className, column = mergedProps.column, disabled = mergedProps.disabled, iconLeft = mergedProps.iconLeft, iconRight = mergedProps.iconRight, isInteractiveProp = mergedProps.isInteractive, isSelected = mergedProps.isSelected, isTruncated = mergedProps.isTruncated, itemLeft = mergedProps.itemLeft, itemRight = mergedProps.itemRight, linkProps = mergedProps.linkProps, onClick = mergedProps.onClick, text = mergedProps.text, rest = __rest(mergedProps, ["children", "center", "centerH", "centerV", "className", "column", "disabled", "iconLeft", "iconRight", "isInteractive", "isSelected", "isTruncated", "itemLeft", "itemRight", "linkProps", "onClick", "text"]);
74
- var styles = (0, core_1.useStyleConfig)('List', (0, context_1.useList)());
74
+ var styles = (0, core_1.useStyleConfig)('List', (0, context_1.useListContext)());
75
75
  var _b = styles.item, activeBg = _b.activeBg, hoverBg = _b.hoverBg, selectedBg = _b.selectedBg, itemStyles = __rest(_b, ["activeBg", "hoverBg", "selectedBg"]);
76
76
  var isLinkItem = linkProps !== undefined;
77
77
  var isInteractive = isInteractiveProp || isLinkItem || onClick !== undefined;
package/list/listText.js CHANGED
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.ListText = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var t_1 = __importDefault(require("../t"));
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays text within the ListItem. */
23
35
  exports.ListText = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('List', __assign(__assign({}, (0, context_1.useList)()), props));
25
- return react_1.default.createElement(t_1.default, __assign({ className: "vui-listText", fontSize: "inherit", ref: ref }, styles.text, props));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('List', (0, context_1.useListContext)());
38
+ return react_1.default.createElement(t_1.default, __assign({ className: (0, utils_1.cs)('vui-listText', className), fontSize: "inherit", ref: ref }, styles.text, rest));
26
39
  });
27
40
  exports.ListText.displayName = 'ListText';
28
41
  exports.default = exports.ListText;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -19,11 +30,13 @@ var react_1 = __importDefault(require("react"));
19
30
  var button_1 = require("../button");
20
31
  var core_1 = require("../core");
21
32
  var popover_1 = require("../popover");
33
+ var utils_1 = require("../utils");
22
34
  var context_1 = require("./context");
23
35
  /** Displays PopoverTrigger as a button. */
24
36
  exports.MenuButton = (0, core_1.vui)(function (props, ref) {
25
- var styles = (0, core_1.useStyleConfig)('Menu', __assign(__assign({}, (0, context_1.useMenuContext)()), props));
26
- return react_1.default.createElement(popover_1.PopoverTrigger, __assign({ as: button_1.TextButton, className: "vui-menuButton", ref: ref }, styles.button, props));
37
+ var className = props.className, rest = __rest(props, ["className"]);
38
+ var styles = (0, core_1.useStyleConfig)('Menu', (0, context_1.useMenuContext)());
39
+ return (react_1.default.createElement(popover_1.PopoverTrigger, __assign({ as: button_1.TextButton, className: (0, utils_1.cs)('vui-menuButton', className), ref: ref }, styles.button, rest)));
27
40
  });
28
41
  exports.MenuButton.displayName = 'MenuButton';
29
42
  exports.default = exports.MenuButton;
package/menu/menuItem.js CHANGED
@@ -35,7 +35,7 @@ var context_1 = require("./context");
35
35
  /** Displays a list item and by default closes the menu on click. */
36
36
  exports.MenuItem = (0, core_1.vui)(function (props, ref) {
37
37
  var _a, _b;
38
- var onClickProp = props.onClick, rest = __rest(props, ["onClick"]);
38
+ var className = props.className, onClickProp = props.onClick, rest = __rest(props, ["className", "onClick"]);
39
39
  var instance = ((_a = (0, popover_1.usePopoverContext)()) !== null && _a !== void 0 ? _a : {}).instance;
40
40
  var _c = (_b = (0, context_1.useMenuContext)()) !== null && _b !== void 0 ? _b : {}, closeOnSelect = _c.closeOnSelect, menuProps = __rest(_c, ["closeOnSelect"]);
41
41
  var styles = (0, core_1.useStyleConfig)('Menu', __assign(__assign({}, menuProps), props));
@@ -43,7 +43,7 @@ exports.MenuItem = (0, core_1.vui)(function (props, ref) {
43
43
  onClickProp === null || onClickProp === void 0 ? void 0 : onClickProp(e);
44
44
  closeOnSelect && (instance === null || instance === void 0 ? void 0 : instance.hide());
45
45
  });
46
- return react_1.default.createElement(list_1.ListItem, __assign({ className: "vui-menuItem", isInteractive: true, onClick: onClick, ref: ref }, styles.item, rest));
46
+ return (react_1.default.createElement(list_1.ListItem, __assign({ className: (0, utils_1.cs)('vui-menuItem', className), isInteractive: true, onClick: onClick, ref: ref }, styles.item, rest)));
47
47
  });
48
48
  exports.MenuItem.displayName = 'MenuItem';
49
49
  exports.default = exports.MenuItem;
package/menu/menuList.js CHANGED
@@ -30,13 +30,14 @@ var react_1 = __importDefault(require("react"));
30
30
  var core_1 = require("../core");
31
31
  var list_1 = __importDefault(require("../list"));
32
32
  var popover_1 = require("../popover");
33
+ var utils_1 = require("../utils");
33
34
  var context_1 = require("./context");
34
35
  /** Displays a list of menu items in a popover content element. */
35
36
  exports.MenuList = (0, core_1.vui)(function (props, ref) {
36
- var contentProps = props.contentProps, contentRef = props.contentRef, rest = __rest(props, ["contentProps", "contentRef"]);
37
- var styles = (0, core_1.useStyleConfig)('Menu', __assign(__assign({}, (0, context_1.useMenuContext)()), props));
37
+ var className = props.className, contentProps = props.contentProps, contentRef = props.contentRef, rest = __rest(props, ["className", "contentProps", "contentRef"]);
38
+ var styles = (0, core_1.useStyleConfig)('Menu', (0, context_1.useMenuContext)());
38
39
  return (react_1.default.createElement(popover_1.PopoverContent, __assign({ ref: contentRef }, contentProps),
39
- react_1.default.createElement(list_1.default, __assign({ className: "vui-menuList", py: 1, ref: ref, w: "100%" }, styles.list, rest))));
40
+ react_1.default.createElement(list_1.default, __assign({ className: (0, utils_1.cs)('vui-menuList', className), py: 1, ref: ref, w: "100%" }, styles.list, rest))));
40
41
  });
41
42
  exports.MenuList.displayName = 'MenuList';
42
43
  exports.MenuList.Divider = list_1.default.Divider;
@@ -14,6 +14,17 @@ var __assign = (this && this.__assign) || function () {
14
14
  };
15
15
  return __assign.apply(this, arguments);
16
16
  };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
17
28
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
30
  };
@@ -29,8 +40,9 @@ exports.ModalBackdropBase = core_1.styled.divBox(templateObject_1 || (templateOb
29
40
  ])), (0, utils_1.hexToRGBA)(theme_1.colors.prussian[80], 0.6));
30
41
  /** Displays a dark overlay underneath modal content, but on top of page content. */
31
42
  exports.ModalBackdrop = (0, core_1.vui)(function (props, ref) {
43
+ var className = props.className, rest = __rest(props, ["className"]);
32
44
  var styles = (0, core_1.useStyleConfig)('Modal', (0, context_1.useModalContext)());
33
- return react_1.default.createElement(exports.ModalBackdropBase, __assign({ className: "vui-modalBackdrop", ref: ref }, styles.backdrop, props));
45
+ return react_1.default.createElement(exports.ModalBackdropBase, __assign({ className: (0, utils_1.cs)('vui-modalBackdrop', className), ref: ref }, styles.backdrop, rest));
34
46
  });
35
47
  exports.ModalBackdrop.displayName = 'ModalBackdrop';
36
48
  exports.default = exports.ModalBackdrop;
@@ -14,6 +14,17 @@ var __assign = (this && this.__assign) || function () {
14
14
  };
15
15
  return __assign.apply(this, arguments);
16
16
  };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
17
28
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
30
  };
@@ -29,9 +40,10 @@ exports.ModalContentBase = core_1.styled.divBox(templateObject_1 || (templateObj
29
40
  /** Wraps the content provided to the Modal component. */
30
41
  exports.ModalContent = (0, core_1.vui)(function (props, ref) {
31
42
  var _a;
43
+ var className = props.className, rest = __rest(props, ["className"]);
32
44
  var onBackdropClick = ((_a = (0, context_1.useModalContext)()) !== null && _a !== void 0 ? _a : {}).onBackdropClick;
33
45
  var styles = (0, core_1.useStyleConfig)('Modal', (0, context_1.useModalContext)());
34
- return (react_1.default.createElement(exports.ModalContentBase, __assign({ className: "vui-modalContent", ref: ref, tabIndex: -1 }, styles.content, props, { onClick: (0, utils_1.callAll)(props.onClick, onBackdropClick) })));
46
+ return (react_1.default.createElement(exports.ModalContentBase, __assign({ className: (0, utils_1.cs)('vui-modalContent', className), ref: ref, tabIndex: -1 }, styles.content, rest, { onClick: (0, utils_1.callAll)(props.onClick, onBackdropClick) })));
35
47
  });
36
48
  exports.ModalContent.displayName = 'ModalContent';
37
49
  exports.default = exports.ModalContent;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { NotificationProps } from './notification.types';
3
- declare const NotificationProvider: import("react").Provider<Partial<NotificationProps>>, useNotification: () => Partial<NotificationProps>;
4
- export { NotificationProvider, useNotification };
3
+ declare const NotificationProvider: import("react").Provider<Partial<NotificationProps>>, useNotificationContext: () => Partial<NotificationProps>;
4
+ export { NotificationProvider, useNotificationContext };
@@ -16,8 +16,8 @@ var __read = (this && this.__read) || function (o, n) {
16
16
  return ar;
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.useNotification = exports.NotificationProvider = void 0;
19
+ exports.useNotificationContext = exports.NotificationProvider = void 0;
20
20
  var utils_1 = require("../utils");
21
- var _a = __read((0, utils_1.createContext)({ isOptional: true }), 2), NotificationProvider = _a[0], useNotification = _a[1];
21
+ var _a = __read((0, utils_1.createContext)({ isOptional: true }), 2), NotificationProvider = _a[0], useNotificationContext = _a[1];
22
22
  exports.NotificationProvider = NotificationProvider;
23
- exports.useNotification = useNotification;
23
+ exports.useNotificationContext = useNotificationContext;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,12 +29,14 @@ exports.NotificationButton = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var button_1 = __importDefault(require("../button"));
20
31
  var core_1 = require("../core");
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays an action button within the Notification. */
23
35
  exports.NotificationButton = (0, core_1.vui)(function (props, ref) {
24
- var mergedProps = __assign(__assign({}, (0, context_1.useNotification)()), props);
25
- var styles = (0, core_1.useStyleConfig)('Notification', mergedProps);
26
- return (react_1.default.createElement(button_1.default, __assign({ className: "vui-notificationButton", colorScheme: mergedProps.colorScheme, ml: 1, mr: -0.5, ref: ref, size: "sm", variant: "text" }, styles.button, props)));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var mergedProps = __assign(__assign({}, (0, context_1.useNotificationContext)()), props);
38
+ var styles = (0, core_1.useStyleConfig)('Notification', (0, context_1.useNotificationContext)());
39
+ return (react_1.default.createElement(button_1.default, __assign({ className: (0, utils_1.cs)('vui-notificationButton', className), colorScheme: mergedProps.colorScheme, ml: 1, mr: -0.5, ref: ref, size: "sm", variant: "text" }, styles.button, rest)));
27
40
  });
28
41
  exports.NotificationButton.displayName = 'NotificationButton';
29
42
  exports.default = exports.NotificationButton;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,16 +29,18 @@ exports.NotificationIcon = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var icon_1 = __importDefault(require("../icon"));
32
+ var utils_1 = require("../utils");
21
33
  var consts_1 = require("./consts");
22
34
  var context_1 = require("./context");
23
35
  /** Displays an icon based on the status within the Notification. */
24
36
  exports.NotificationIcon = (0, core_1.vui)(function (props, ref) {
25
37
  var _a;
26
- var mergedProps = __assign(__assign({}, (0, context_1.useNotification)()), props);
27
- var styles = (0, core_1.useStyleConfig)('Notification', mergedProps);
38
+ var className = props.className, rest = __rest(props, ["className"]);
39
+ var mergedProps = __assign(__assign({}, (0, context_1.useNotificationContext)()), props);
40
+ var styles = (0, core_1.useStyleConfig)('Notification', (0, context_1.useNotificationContext)());
28
41
  var _b = mergedProps.status, status = _b === void 0 ? '' : _b;
29
42
  var iconProps = ((_a = consts_1.notificationStatusMapping[status]) !== null && _a !== void 0 ? _a : {}).iconProps;
30
- return (react_1.default.createElement(icon_1.default, __assign({ className: "vui-notificationIcon", mr: 1, my: 0.5, ref: ref, size: "md" }, styles.icon, iconProps, props)));
43
+ return (react_1.default.createElement(icon_1.default, __assign({ className: (0, utils_1.cs)('vui-notificationIcon', className), mr: 1, my: 0.5, ref: ref, size: "md" }, styles.icon, iconProps, rest)));
31
44
  });
32
45
  exports.NotificationIcon.displayName = 'NotificationIcon';
33
46
  exports.default = exports.NotificationIcon;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.NotificationText = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var t_1 = __importDefault(require("../t"));
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays text within the Notification. */
23
35
  exports.NotificationText = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('Notification', __assign(__assign({}, (0, context_1.useNotification)()), props));
25
- return (react_1.default.createElement(t_1.default, __assign({ className: "vui-notificationText", flex: "1", lineHeight: "24px", minW: 0, py: 0.5, ref: ref }, styles.text, props)));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('Notification', (0, context_1.useNotificationContext)());
38
+ return (react_1.default.createElement(t_1.default, __assign({ className: (0, utils_1.cs)('vui-notificationText', className), flex: "1", lineHeight: "24px", minW: 0, py: 0.5, ref: ref }, styles.text, rest)));
26
39
  });
27
40
  exports.NotificationText.displayName = 'NotificationText';
28
41
  exports.default = exports.NotificationText;
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -18,11 +29,13 @@ exports.NotificationTitle = void 0;
18
29
  var react_1 = __importDefault(require("react"));
19
30
  var core_1 = require("../core");
20
31
  var heading_1 = require("../heading");
32
+ var utils_1 = require("../utils");
21
33
  var context_1 = require("./context");
22
34
  /** Displays a title within the Notification. */
23
35
  exports.NotificationTitle = (0, core_1.vui)(function (props, ref) {
24
- var styles = (0, core_1.useStyleConfig)('Notification', __assign(__assign({}, (0, context_1.useNotification)()), props));
25
- return react_1.default.createElement(heading_1.H6, __assign({ className: "vui-notificationTitle", display: "inline-flex", ref: ref }, styles.title, props));
36
+ var className = props.className, rest = __rest(props, ["className"]);
37
+ var styles = (0, core_1.useStyleConfig)('Notification', (0, context_1.useNotificationContext)());
38
+ return (react_1.default.createElement(heading_1.H6, __assign({ className: (0, utils_1.cs)('vui-notificationTitle', className), display: "inline-flex", ref: ref }, styles.title, rest)));
26
39
  });
27
40
  exports.NotificationTitle.displayName = 'NotificationTitle';
28
41
  exports.default = exports.NotificationTitle;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veracity/vui",
3
- "version": "0.5.2",
3
+ "version": "0.6.1",
4
4
  "description": "Veracity UI React components library based on Styled Components and @xstyled",
5
5
  "main": "index.js",
6
6
  "author": "Veracity",
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { PaginationContext } from './pagination.types';
3
+ declare const PaginationProvider: import("react").Provider<PaginationContext>, usePaginationContext: () => PaginationContext;
4
+ export { PaginationProvider, usePaginationContext };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.usePaginationContext = exports.PaginationProvider = void 0;
20
+ var utils_1 = require("../utils");
21
+ var _a = __read((0, utils_1.createContext)({ isOptional: true }), 2), PaginationProvider = _a[0], usePaginationContext = _a[1];
22
+ exports.PaginationProvider = PaginationProvider;
23
+ exports.usePaginationContext = usePaginationContext;
@@ -0,0 +1,3 @@
1
+ import { PaginationItem } from './pagination.types';
2
+ /** Returns an array describing pagination items, like page buttons, prev/next arrows or ellipsis. */
3
+ export declare function getPaginationItems(page: number, pageCount: number): PaginationItem[];
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.getPaginationItems = void 0;
29
+ var range = function (start, end) {
30
+ var length = end - start + 1;
31
+ return Array.from({ length: length }, function (_, i) { return start + i; });
32
+ };
33
+ /** Returns an array describing pagination items, like page buttons, prev/next arrows or ellipsis. */
34
+ function getPaginationItems(page, pageCount) {
35
+ var boundaryCount = 1;
36
+ var siblingCount = 1;
37
+ var startPages = range(1, Math.min(boundaryCount, pageCount));
38
+ var endPages = range(Math.max(pageCount - boundaryCount + 1, boundaryCount + 1), pageCount);
39
+ var siblingsStart = Math.max(Math.min(page - siblingCount, pageCount - boundaryCount - siblingCount * 2 - 1), boundaryCount + 2);
40
+ var siblingsEnd = Math.min(Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2), endPages.length > 0 ? endPages[0] - 2 : pageCount - 1);
41
+ var items = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
42
+ 'previous'
43
+ ], __read(startPages), false), __read((siblingsStart > boundaryCount + 2
44
+ ? ['ellipsisStart']
45
+ : boundaryCount + 1 < pageCount - boundaryCount
46
+ ? [boundaryCount + 1]
47
+ : [])), false), __read(range(siblingsStart, siblingsEnd)), false), __read((siblingsEnd < pageCount - boundaryCount - 1
48
+ ? ['ellipsisEnd']
49
+ : pageCount - boundaryCount > boundaryCount
50
+ ? [pageCount - boundaryCount]
51
+ : [])), false), __read(endPages), false), [
52
+ 'next'
53
+ ], false);
54
+ return items;
55
+ }
56
+ exports.getPaginationItems = getPaginationItems;